<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html xmlns:yui="http://yuilibrary.com/rdf/1.0/yui.rdf#">
<head>
    <meta http-equiv="content-type" content="text/html; charset=UTF-8" />
	<title>API: datatable   datatable-scroll.js  (YUI Library)</title>

	<link rel="stylesheet" type="text/css" href="assets/reset-fonts-grids-min.css" />
	<link rel="stylesheet" type="text/css" href="assets/api.css" />

    <script type="text/javascript" src="assets/api-js"></script>
    <script type="text/javascript" src="assets/ac-js"></script>
</head>

<body id="yahoo-com">

<div id="doc3" class="yui-t2">
	<div id="hd">
        <h1><a href="http://developer.yahoo.com/yui/" title="Yahoo! UI Library">Yahoo! UI Library</a></h1>
        <h3>datatable&nbsp; <span class="subtitle">3.3.0</span></h3>
        <a href="./index.html" title="Yahoo! UI Library">Yahoo! UI Library</a> 
            &gt; <a href="./module_datatable.html" title="datatable">datatable</a>
                
                 &gt; datatable-scroll.js (source view) 
        <form onsubmit="return false">
            <div id="propertysearch">
                Search: <input autocomplete="off" id="searchinput" />
                <div id="searchresults">
                    &nbsp;
                </div>
            </div>
        </form>
	</div>

	<div id="bd">
		<div id="yui-main">
			<div class="yui-b">
            <form action="#" name="yui-classopts-form" method="get" id="yui-classopts-form">
                <fieldset>
                    <legend>Filters</legend>
                <span class="classopts"><input type="checkbox" name="show_private" id="show_private" /> <label for="show_private">Show Private</label></span>
                <span class="classopts"><input type="checkbox" name="show_protected" id="show_protected" /> <label for="show_protected">Show Protected</label></span>
                <span class="classopts"><input type="checkbox" name="show_deprecated" id="show_deprecated" /> <label for="show_deprecated">Show Deprecated</label></span>
                </fieldset>
            </form>

                    <div id="srcout">
                        <style>
                            #doc3 .classopts { display:none; }
                        </style>
                        <div class="highlight"><pre><span class="cm">/**</span>
<span class="cm"> * Extends DataTable base to enable x,y, and xy scrolling.</span>
<span class="cm"> * @module datatable</span>
<span class="cm"> * @submodule datatable-scroll</span>
<span class="cm"> */</span>


<span class="kd">var</span> <span class="nx">YNode</span> <span class="o">=</span> <span class="nx">Y</span><span class="p">.</span><span class="nx">Node</span><span class="p">,</span>
	<span class="nx">YLang</span> <span class="o">=</span> <span class="nx">Y</span><span class="p">.</span><span class="nx">Lang</span><span class="p">,</span>
	<span class="nx">YUA</span> <span class="o">=</span> <span class="nx">Y</span><span class="p">.</span><span class="nx">UA</span><span class="p">,</span>
	<span class="nx">YgetClassName</span> <span class="o">=</span> <span class="nx">Y</span><span class="p">.</span><span class="nx">ClassNameManager</span><span class="p">.</span><span class="nx">getClassName</span><span class="p">,</span>
	<span class="nx">DATATABLE</span> <span class="o">=</span> <span class="s2">&quot;datatable&quot;</span><span class="p">,</span>
	<span class="nx">CLASS_HEADER</span> <span class="o">=</span> <span class="nx">YgetClassName</span><span class="p">(</span><span class="nx">DATATABLE</span><span class="p">,</span> <span class="s2">&quot;hd&quot;</span><span class="p">),</span>
	<span class="nx">CLASS_BODY</span> <span class="o">=</span> <span class="nx">YgetClassName</span><span class="p">(</span><span class="nx">DATATABLE</span><span class="p">,</span> <span class="s2">&quot;bd&quot;</span><span class="p">),</span>
	<span class="nx">CLASS_SCROLLABLE</span> <span class="o">=</span> <span class="nx">YgetClassName</span><span class="p">(</span><span class="nx">DATATABLE</span><span class="p">,</span> <span class="s2">&quot;scrollable&quot;</span><span class="p">),</span>
	<span class="nx">CONTAINER_HEADER</span> <span class="o">=</span> <span class="s1">&#39;&lt;div class=&quot;&#39;</span><span class="o">+</span><span class="nx">CLASS_HEADER</span><span class="o">+</span><span class="s1">&#39;&quot;&gt;&lt;/div&gt;&#39;</span><span class="p">,</span>
	<span class="nx">CONTAINER_BODY</span> <span class="o">=</span> <span class="s1">&#39;&lt;div class=&quot;&#39;</span><span class="o">+</span><span class="nx">CLASS_BODY</span><span class="o">+</span><span class="s1">&#39;&quot;&gt;&lt;/div&gt;&#39;</span><span class="p">,</span>
	<span class="nx">TEMPLATE_TABLE</span> <span class="o">=</span> <span class="s1">&#39;&lt;table&gt;&lt;/table&gt;&#39;</span><span class="p">;</span>
	
<span class="cm">/**</span>
<span class="cm"> * Adds scrolling to DataTable.</span>
<span class="cm"> * @class DataTableScroll</span>
<span class="cm"> * @extends Plugin.Base</span>
<span class="cm"> */</span>
<span class="kd">function</span> <span class="nx">DataTableScroll</span><span class="p">()</span> <span class="p">{</span>
    <span class="nx">DataTableScroll</span><span class="p">.</span><span class="nx">superclass</span><span class="p">.</span><span class="nx">constructor</span><span class="p">.</span><span class="nx">apply</span><span class="p">(</span><span class="k">this</span><span class="p">,</span> <span class="nx">arguments</span><span class="p">);</span>
<span class="p">}</span>

<span class="nx">Y</span><span class="p">.</span><span class="nx">mix</span><span class="p">(</span><span class="nx">DataTableScroll</span><span class="p">,</span> <span class="p">{</span>
    <span class="nx">NS</span><span class="o">:</span> <span class="s2">&quot;scroll&quot;</span><span class="p">,</span>

    <span class="nx">NAME</span><span class="o">:</span> <span class="s2">&quot;dataTableScroll&quot;</span><span class="p">,</span>

    <span class="nx">ATTRS</span><span class="o">:</span> <span class="p">{</span>
	
		<span class="cm">/**</span>
<span class="cm">	    * @description The width for the table. Set to a string (ex: &quot;200px&quot;, &quot;20em&quot;) if you want the table to scroll in the x direction.</span>
<span class="cm">	    *</span>
<span class="cm">	    * @attribute width</span>
<span class="cm">	    * @public</span>
<span class="cm">	    * @type string</span>
<span class="cm">	    */</span>
        <span class="nx">width</span><span class="o">:</span> <span class="p">{</span>
			<span class="nx">value</span><span class="o">:</span> <span class="kc">undefined</span><span class="p">,</span>
			<span class="nx">writeOnce</span><span class="o">:</span> <span class="s2">&quot;initOnly&quot;</span>
		<span class="p">},</span>
		
		<span class="cm">/**</span>
<span class="cm">	    * @description The height for the table. Set to a string (ex: &quot;200px&quot;, &quot;20em&quot;) if you want the table to scroll in the y-direction.</span>
<span class="cm">	    *</span>
<span class="cm">	    * @attribute height</span>
<span class="cm">	    * @public</span>
<span class="cm">	    * @type string</span>
<span class="cm">	    */</span>
		<span class="nx">height</span><span class="o">:</span> <span class="p">{</span>
			<span class="nx">value</span><span class="o">:</span> <span class="kc">undefined</span><span class="p">,</span>
			<span class="nx">writeOnce</span><span class="o">:</span> <span class="s2">&quot;initOnly&quot;</span>
		<span class="p">},</span>
		
		
		<span class="cm">/**</span>
<span class="cm">	    * @description The scrolling direction for the table.</span>
<span class="cm">	    *</span>
<span class="cm">	    * @attribute scroll</span>
<span class="cm">	    * @private</span>
<span class="cm">	    * @type string</span>
<span class="cm">	    */</span>
		<span class="nx">_scroll</span><span class="o">:</span> <span class="p">{</span>
			<span class="c1">//value: &#39;y&#39;,</span>
			<span class="nx">valueFn</span><span class="o">:</span> <span class="kd">function</span><span class="p">()</span> <span class="p">{</span>
			    <span class="kd">var</span> <span class="nx">w</span> <span class="o">=</span> <span class="k">this</span><span class="p">.</span><span class="nx">get</span><span class="p">(</span><span class="s1">&#39;width&#39;</span><span class="p">),</span>
			    <span class="nx">h</span> <span class="o">=</span> <span class="k">this</span><span class="p">.</span><span class="nx">get</span><span class="p">(</span><span class="s1">&#39;height&#39;</span><span class="p">);</span>
			    
			    <span class="k">if</span> <span class="p">(</span><span class="nx">w</span> <span class="o">&amp;&amp;</span> <span class="nx">h</span><span class="p">)</span> <span class="p">{</span>
			        <span class="k">return</span> <span class="s1">&#39;xy&#39;</span><span class="p">;</span>
			    <span class="p">}</span>
			    <span class="k">else</span> <span class="k">if</span> <span class="p">(</span><span class="nx">w</span><span class="p">)</span> <span class="p">{</span>
			        <span class="k">return</span> <span class="s1">&#39;x&#39;</span><span class="p">;</span>
			    <span class="p">}</span>
			    <span class="k">else</span> <span class="k">if</span> <span class="p">(</span><span class="nx">h</span><span class="p">)</span> <span class="p">{</span>
			        <span class="k">return</span> <span class="s1">&#39;y&#39;</span><span class="p">;</span>
			    <span class="p">}</span>
			    <span class="k">else</span> <span class="p">{</span>
			        <span class="k">return</span> <span class="kc">null</span><span class="p">;</span>
			    <span class="p">}</span>
			<span class="p">}</span>
		<span class="p">},</span>
		
		
		<span class="cm">/**</span>
<span class="cm">	    * @description The hexadecimal colour value to set on the top-right of the table if a scrollbar exists. </span>
<span class="cm">	    *</span>
<span class="cm">	    * @attribute COLOR_COLUMNFILLER</span>
<span class="cm">	    * @public</span>
<span class="cm">	    * @type string</span>
<span class="cm">	    */</span>
		<span class="nx">COLOR_COLUMNFILLER</span><span class="o">:</span> <span class="p">{</span>
			<span class="nx">value</span><span class="o">:</span> <span class="s1">&#39;#f2f2f2&#39;</span><span class="p">,</span>
			<span class="nx">validator</span><span class="o">:</span> <span class="nx">YLang</span><span class="p">.</span><span class="nx">isString</span><span class="p">,</span>
			<span class="nx">setter</span><span class="o">:</span> <span class="kd">function</span><span class="p">(</span><span class="nx">param</span><span class="p">)</span> <span class="p">{</span>
				<span class="k">if</span> <span class="p">(</span><span class="k">this</span><span class="p">.</span><span class="nx">_headerContainerNode</span><span class="p">)</span> <span class="p">{</span>
					<span class="k">this</span><span class="p">.</span><span class="nx">_headerContainerNode</span><span class="p">.</span><span class="nx">setStyle</span><span class="p">(</span><span class="s1">&#39;backgroundColor&#39;</span><span class="p">,</span> <span class="nx">param</span><span class="p">);</span>
				<span class="p">}</span>
			<span class="p">}</span>
		<span class="p">}</span>
    <span class="p">}</span>
<span class="p">});</span>

<span class="nx">Y</span><span class="p">.</span><span class="nx">extend</span><span class="p">(</span><span class="nx">DataTableScroll</span><span class="p">,</span> <span class="nx">Y</span><span class="p">.</span><span class="nx">Plugin</span><span class="p">.</span><span class="nx">Base</span><span class="p">,</span> <span class="p">{</span>
	
	<span class="cm">/**</span>
<span class="cm">    * @description The table node created in datatable-base</span>
<span class="cm">    *</span>
<span class="cm">    * @property _parentTableNode</span>
<span class="cm">	* @private</span>
<span class="cm">    * @type Y.Node</span>
<span class="cm">    */</span>
	<span class="nx">_parentTableNode</span><span class="o">:</span> <span class="kc">null</span><span class="p">,</span>
	
	
	<span class="cm">/**</span>
<span class="cm">    * @description The THEAD node which resides within the table node created in datatable-base</span>
<span class="cm">    *</span>
<span class="cm">    * @property _parentTheadNode</span>
<span class="cm">	* @private</span>
<span class="cm">    * @type Y.Node</span>
<span class="cm">    */</span>
	<span class="nx">_parentTheadNode</span><span class="o">:</span> <span class="kc">null</span><span class="p">,</span>
	
	
	<span class="cm">/**</span>
<span class="cm">    * @description The TBODY node which resides within the table node created in datatable-base</span>
<span class="cm">    *</span>
<span class="cm">    * @property _parentTbodyNode</span>
<span class="cm">	* @private</span>
<span class="cm">    * @type Y.Node</span>
<span class="cm">    */</span>
	<span class="nx">_parentTbodyNode</span><span class="o">:</span> <span class="kc">null</span><span class="p">,</span>
	
	
	<span class="cm">/**</span>
<span class="cm">    * @description The TBODY Message node which resides within the table node created in datatable-base</span>
<span class="cm">    *</span>
<span class="cm">    * @property _parentMsgNode</span>
<span class="cm">	* @private</span>
<span class="cm">    * @type Y.Node</span>
<span class="cm">    */</span>
	<span class="nx">_parentMsgNode</span><span class="o">:</span> <span class="kc">null</span><span class="p">,</span>
	
	
	<span class="cm">/**</span>
<span class="cm">    * @description The contentBox specified for the datatable in datatable-base</span>
<span class="cm">    *</span>
<span class="cm">    * @property _parentContainer</span>
<span class="cm">	* @private</span>
<span class="cm">    * @type Y.Node</span>
<span class="cm">    */</span>
	<span class="nx">_parentContainer</span><span class="o">:</span> <span class="kc">null</span><span class="p">,</span>
	
	
	<span class="cm">/**</span>
<span class="cm">    * @description The DIV node that contains all the scrollable elements (a table with a tbody on it)</span>
<span class="cm">    *</span>
<span class="cm">    * @property _bodyContainerNode</span>
<span class="cm">	* @private</span>
<span class="cm">    * @type Y.Node</span>
<span class="cm">    */</span>
	<span class="nx">_bodyContainerNode</span><span class="o">:</span> <span class="kc">null</span><span class="p">,</span>
	
	
	<span class="cm">/**</span>
<span class="cm">    * @description The DIV node that contains a table with a THEAD in it (which syncs its horizontal scroll with the _bodyContainerNode above)</span>
<span class="cm">    *</span>
<span class="cm">    * @property _headerContainerNode</span>
<span class="cm">	* @private</span>
<span class="cm">    * @type Y.Node</span>
<span class="cm">    */</span>
	<span class="nx">_headerContainerNode</span><span class="o">:</span> <span class="kc">null</span><span class="p">,</span>
	
	
	<span class="c1">//--------------------------------------</span>
    <span class="c1">//  Methods</span>
    <span class="c1">//--------------------------------------</span>


	
	<span class="nx">initializer</span><span class="o">:</span> <span class="kd">function</span><span class="p">(</span><span class="nx">config</span><span class="p">)</span> <span class="p">{</span>
        <span class="kd">var</span> <span class="nx">dt</span> <span class="o">=</span> <span class="k">this</span><span class="p">.</span><span class="nx">get</span><span class="p">(</span><span class="s2">&quot;host&quot;</span><span class="p">);</span>
		<span class="k">this</span><span class="p">.</span><span class="nx">_parentContainer</span> <span class="o">=</span> <span class="nx">dt</span><span class="p">.</span><span class="nx">get</span><span class="p">(</span><span class="s1">&#39;contentBox&#39;</span><span class="p">);</span>
		<span class="k">this</span><span class="p">.</span><span class="nx">_parentContainer</span><span class="p">.</span><span class="nx">addClass</span><span class="p">(</span><span class="nx">CLASS_SCROLLABLE</span><span class="p">);</span>
		<span class="k">this</span><span class="p">.</span><span class="nx">_setUpNodes</span><span class="p">();</span>
	<span class="p">},</span>
	
	<span class="c1">/////////////////////////////////////////////////////////////////////////////</span>
	<span class="c1">//</span>
	<span class="c1">// Set up Table Nodes</span>
	<span class="c1">//</span>
	<span class="c1">/////////////////////////////////////////////////////////////////////////////</span>
	
	<span class="cm">/**</span>
<span class="cm">    * @description Set up methods to fire after host methods execute</span>
<span class="cm">    *</span>
<span class="cm">    * @method _setUpNodes</span>
<span class="cm">    * @private</span>
<span class="cm">    */</span>			
	<span class="nx">_setUpNodes</span><span class="o">:</span> <span class="kd">function</span><span class="p">()</span> <span class="p">{</span>
		
		<span class="k">this</span><span class="p">.</span><span class="nx">afterHostMethod</span><span class="p">(</span><span class="s2">&quot;_addTableNode&quot;</span><span class="p">,</span> <span class="k">this</span><span class="p">.</span><span class="nx">_setUpParentTableNode</span><span class="p">);</span>
		<span class="k">this</span><span class="p">.</span><span class="nx">afterHostMethod</span><span class="p">(</span><span class="s2">&quot;_addTheadNode&quot;</span><span class="p">,</span> <span class="k">this</span><span class="p">.</span><span class="nx">_setUpParentTheadNode</span><span class="p">);</span> 
		<span class="k">this</span><span class="p">.</span><span class="nx">afterHostMethod</span><span class="p">(</span><span class="s2">&quot;_addTbodyNode&quot;</span><span class="p">,</span> <span class="k">this</span><span class="p">.</span><span class="nx">_setUpParentTbodyNode</span><span class="p">);</span>
		<span class="k">this</span><span class="p">.</span><span class="nx">afterHostMethod</span><span class="p">(</span><span class="s2">&quot;_addMessageNode&quot;</span><span class="p">,</span> <span class="k">this</span><span class="p">.</span><span class="nx">_setUpParentMessageNode</span><span class="p">);</span>
		<span class="c1">//this.beforeHostMethod(&#39;renderUI&#39;, this._removeCaptionNode);</span>
		<span class="k">this</span><span class="p">.</span><span class="nx">afterHostMethod</span><span class="p">(</span><span class="s2">&quot;renderUI&quot;</span><span class="p">,</span> <span class="k">this</span><span class="p">.</span><span class="nx">renderUI</span><span class="p">);</span>
		<span class="k">this</span><span class="p">.</span><span class="nx">afterHostMethod</span><span class="p">(</span><span class="s2">&quot;syncUI&quot;</span><span class="p">,</span> <span class="k">this</span><span class="p">.</span><span class="nx">syncUI</span><span class="p">);</span>
		
		<span class="k">if</span> <span class="p">(</span><span class="k">this</span><span class="p">.</span><span class="nx">get</span><span class="p">(</span><span class="s1">&#39;_scroll&#39;</span><span class="p">)</span> <span class="o">!==</span> <span class="s1">&#39;x&#39;</span><span class="p">)</span> <span class="p">{</span>
			<span class="k">this</span><span class="p">.</span><span class="nx">afterHostMethod</span><span class="p">(</span><span class="s1">&#39;_attachTheadThNode&#39;</span><span class="p">,</span> <span class="k">this</span><span class="p">.</span><span class="nx">_attachTheadThNode</span><span class="p">);</span>
			<span class="k">this</span><span class="p">.</span><span class="nx">afterHostMethod</span><span class="p">(</span><span class="s1">&#39;_attachTbodyTdNode&#39;</span><span class="p">,</span> <span class="k">this</span><span class="p">.</span><span class="nx">_attachTbodyTdNode</span><span class="p">);</span>
		<span class="p">}</span>
		
	<span class="p">},</span>
		
	<span class="cm">/**</span>
<span class="cm">    * @description Stores the main &amp;lt;table&amp;gt; node provided by the host as a private property</span>
<span class="cm">    *</span>
<span class="cm">    * @method _setUpParentTableNode</span>
<span class="cm">    * @private</span>
<span class="cm">    */</span>
	<span class="nx">_setUpParentTableNode</span><span class="o">:</span> <span class="kd">function</span><span class="p">()</span> <span class="p">{</span>
		<span class="k">this</span><span class="p">.</span><span class="nx">_parentTableNode</span> <span class="o">=</span> <span class="k">this</span><span class="p">.</span><span class="nx">get</span><span class="p">(</span><span class="s1">&#39;host&#39;</span><span class="p">).</span><span class="nx">_tableNode</span><span class="p">;</span>
	<span class="p">},</span>
	
	
	<span class="cm">/**</span>
<span class="cm">    * @description Stores the main &amp;lt;thead&amp;gt; node provided by the host as a private property</span>
<span class="cm">    *</span>
<span class="cm">    * @method _setUpParentTheadNode</span>
<span class="cm">    * @private</span>
<span class="cm">    */</span>
	<span class="nx">_setUpParentTheadNode</span><span class="o">:</span> <span class="kd">function</span><span class="p">()</span> <span class="p">{</span>
		<span class="k">this</span><span class="p">.</span><span class="nx">_parentTheadNode</span> <span class="o">=</span> <span class="k">this</span><span class="p">.</span><span class="nx">get</span><span class="p">(</span><span class="s1">&#39;host&#39;</span><span class="p">).</span><span class="nx">_theadNode</span><span class="p">;</span>
	<span class="p">},</span>
	
	<span class="cm">/**</span>
<span class="cm">    * @description Stores the main &amp;lt;tbody&amp;gt; node provided by the host as a private property</span>
<span class="cm">    *</span>
<span class="cm">    * @method _setUpParentTbodyNode</span>
<span class="cm">    * @private</span>
<span class="cm">    */</span>
	<span class="nx">_setUpParentTbodyNode</span><span class="o">:</span> <span class="kd">function</span><span class="p">()</span> <span class="p">{</span>
		<span class="k">this</span><span class="p">.</span><span class="nx">_parentTbodyNode</span> <span class="o">=</span> <span class="k">this</span><span class="p">.</span><span class="nx">get</span><span class="p">(</span><span class="s1">&#39;host&#39;</span><span class="p">).</span><span class="nx">_tbodyNode</span><span class="p">;</span>
	<span class="p">},</span>
	
	
	<span class="cm">/**</span>
<span class="cm">    * @description Stores the main &amp;lt;tbody&amp;gt; message node provided by the host as a private property</span>
<span class="cm">    *</span>
<span class="cm">    * @method _setUpParentMessageNode</span>
<span class="cm">    * @private</span>
<span class="cm">    */</span>
	<span class="nx">_setUpParentMessageNode</span><span class="o">:</span> <span class="kd">function</span><span class="p">()</span> <span class="p">{</span>
		<span class="k">this</span><span class="p">.</span><span class="nx">_parentMsgNode</span> <span class="o">=</span> <span class="k">this</span><span class="p">.</span><span class="nx">get</span><span class="p">(</span><span class="s1">&#39;host&#39;</span><span class="p">).</span><span class="nx">_msgNode</span><span class="p">;</span>
	<span class="p">},</span>
	
	<span class="c1">/////////////////////////////////////////////////////////////////////////////</span>
	<span class="c1">//</span>
	<span class="c1">// Renderer</span>
	<span class="c1">//</span>
	<span class="c1">/////////////////////////////////////////////////////////////////////////////</span>
	
	<span class="cm">/**</span>
<span class="cm">    * @description Primary rendering method that takes the datatable rendered in</span>
<span class="cm">    * the host, and splits it up into two separate &amp;lt;divs&amp;gt; each containing two </span>
<span class="cm">	* separate tables (one containing the head and one containing the body). </span>
<span class="cm">	* This method fires after renderUI is called on datatable-base.</span>
<span class="cm">	* </span>
<span class="cm">    * @method renderUI</span>
<span class="cm">    * @public</span>
<span class="cm">    */</span>
	<span class="nx">renderUI</span><span class="o">:</span> <span class="kd">function</span><span class="p">()</span> <span class="p">{</span>
		<span class="c1">//Y.Profiler.start(&#39;render&#39;);</span>
		<span class="k">this</span><span class="p">.</span><span class="nx">_createBodyContainer</span><span class="p">();</span>
		<span class="k">this</span><span class="p">.</span><span class="nx">_createHeaderContainer</span><span class="p">();</span>
		<span class="k">this</span><span class="p">.</span><span class="nx">_setContentBoxDimensions</span><span class="p">();</span>
		<span class="c1">//Y.Profiler.stop(&#39;render&#39;);</span>
		<span class="c1">//console.log(Y.Profiler.getReport(&quot;render&quot;));</span>
	<span class="p">},</span>
	
	
	<span class="cm">/**</span>
<span class="cm">    * @description Post rendering method that is responsible for creating a column</span>
<span class="cm">	* filler, and performing width and scroll synchronization between the &amp;lt;th&amp;gt; </span>
<span class="cm">	* elements and the &amp;lt;td&amp;gt; elements.</span>
<span class="cm">	* This method fires after syncUI is called on datatable-base</span>
<span class="cm">	* </span>
<span class="cm">    * @method syncUI</span>
<span class="cm">    * @public</span>
<span class="cm">    */</span>
	<span class="nx">syncUI</span><span class="o">:</span> <span class="kd">function</span><span class="p">()</span> <span class="p">{</span>
		<span class="c1">//Y.Profiler.start(&#39;sync&#39;);</span>
		<span class="k">this</span><span class="p">.</span><span class="nx">_removeCaptionNode</span><span class="p">();</span>
		<span class="k">this</span><span class="p">.</span><span class="nx">_syncWidths</span><span class="p">();</span>
		<span class="k">this</span><span class="p">.</span><span class="nx">_syncScroll</span><span class="p">();</span>
		<span class="c1">//Y.Profiler.stop(&#39;sync&#39;);</span>
		<span class="c1">//console.log(Y.Profiler.getReport(&quot;sync&quot;));</span>
		
	<span class="p">},</span>
	
	<span class="cm">/**</span>
<span class="cm">    * @description Remove the caption created in base. Scrolling datatables dont support captions.</span>
<span class="cm">	* </span>
<span class="cm">    * @method _removeCaptionNode</span>
<span class="cm">    * @private</span>
<span class="cm">    */</span>
    <span class="nx">_removeCaptionNode</span><span class="o">:</span> <span class="kd">function</span><span class="p">()</span> <span class="p">{</span>
        <span class="k">this</span><span class="p">.</span><span class="nx">get</span><span class="p">(</span><span class="s1">&#39;host&#39;</span><span class="p">).</span><span class="nx">_captionNode</span><span class="p">.</span><span class="nx">remove</span><span class="p">();</span>
        <span class="c1">//Y.DataTable.Base.prototype.createCaption = function(v) {/*do nothing*/};</span>
		<span class="c1">//Y.DataTable.Base.prototype._uiSetCaption = function(v) {/*do nothing*/};</span>
    <span class="p">},</span>

	<span class="cm">/**</span>
<span class="cm">    * @description Adjusts the width of the TH and the TDs to make sure that the two are in sync</span>
<span class="cm">	* </span>
<span class="cm">	* Implementation Details: </span>
<span class="cm">	* 	Compares the width of the TH liner div to the the width of the TD node. The TD liner width</span>
<span class="cm">	*	is not actually used because the TD often stretches past the liner if the parent DIV is very</span>
<span class="cm">	*	large. Measuring the TD width is more accurate.</span>
<span class="cm">	*	</span>
<span class="cm">	*	Instead of measuring via .get(&#39;width&#39;), &#39;clientWidth&#39; is used, as it returns a number, whereas</span>
<span class="cm">	*	&#39;width&#39; returns a string, In IE6, &#39;clientWidth&#39; is not supported, so &#39;offsetWidth&#39; is used.</span>
<span class="cm">	*	&#39;offsetWidth&#39; is not as accurate on Chrome,FF as &#39;clientWidth&#39; - thus the need for the fork.</span>
<span class="cm">	* </span>
<span class="cm">    * @method _syncWidths</span>
<span class="cm">    * @private</span>
<span class="cm">    */</span>
	<span class="nx">_syncWidths</span><span class="o">:</span> <span class="kd">function</span><span class="p">()</span> <span class="p">{</span>
		<span class="kd">var</span> <span class="nx">th</span> <span class="o">=</span> <span class="nx">YNode</span><span class="p">.</span><span class="nx">all</span><span class="p">(</span><span class="s1">&#39;#&#39;</span><span class="o">+</span><span class="k">this</span><span class="p">.</span><span class="nx">_parentContainer</span><span class="p">.</span><span class="nx">get</span><span class="p">(</span><span class="s1">&#39;id&#39;</span><span class="p">)</span><span class="o">+</span><span class="s1">&#39; .yui3-datatable-hd table thead th&#39;</span><span class="p">),</span> <span class="c1">//nodelist of all THs</span>
			<span class="nx">td</span> <span class="o">=</span> <span class="nx">YNode</span><span class="p">.</span><span class="nx">one</span><span class="p">(</span><span class="s1">&#39;#&#39;</span><span class="o">+</span><span class="k">this</span><span class="p">.</span><span class="nx">_parentContainer</span><span class="p">.</span><span class="nx">get</span><span class="p">(</span><span class="s1">&#39;id&#39;</span><span class="p">)</span><span class="o">+</span><span class="s1">&#39; .yui3-datatable-bd table .yui3-datatable-data&#39;</span><span class="p">).</span><span class="nx">get</span><span class="p">(</span><span class="s1">&#39;firstChild&#39;</span><span class="p">).</span><span class="nx">get</span><span class="p">(</span><span class="s1">&#39;children&#39;</span><span class="p">),</span> <span class="c1">//nodelist of all TDs in 1st row</span>
			<span class="nx">i</span><span class="p">,</span>
			<span class="nx">len</span><span class="p">,</span>
			<span class="nx">thWidth</span><span class="p">,</span> <span class="nx">tdWidth</span><span class="p">,</span> <span class="nx">thLiner</span><span class="p">,</span> <span class="nx">tdLiner</span><span class="p">,</span>
			<span class="nx">ie</span> <span class="o">=</span> <span class="nx">YUA</span><span class="p">.</span><span class="nx">ie</span><span class="p">;</span>
			<span class="c1">//stylesheet = new YStyleSheet(&#39;columnsSheet&#39;),</span>
			<span class="c1">//className;</span>
			
			<span class="cm">/*</span>
<span class="cm">			This for loop goes through the first row of TDs in the table.</span>
<span class="cm">			In a table, the width of the row is equal to the width of the longest cell in that column.</span>
<span class="cm">			Therefore, we can observe the widths of the cells in the first row only, as they will be the same in all the cells below (in each respective column)</span>
<span class="cm">			*/</span>
			<span class="k">for</span> <span class="p">(</span><span class="nx">i</span><span class="o">=</span><span class="mi">0</span><span class="p">,</span> <span class="nx">len</span> <span class="o">=</span> <span class="nx">th</span><span class="p">.</span><span class="nx">size</span><span class="p">();</span> <span class="nx">i</span><span class="o">&lt;</span><span class="nx">len</span><span class="p">;</span> <span class="nx">i</span><span class="o">++</span><span class="p">)</span> <span class="p">{</span> 
				
				<span class="c1">//className = &#39;.&#39;+td.item(i).get(&#39;classList&#39;)._nodes[0];</span>
				<span class="c1">//If a width has not been already set on the TD:</span>
				<span class="c1">//if (td.item(i).get(&#39;firstChild&#39;).getStyle(&#39;width&#39;) === &quot;auto&quot;) {</span>
					
					<span class="c1">//Get the liners for the TH and the TD cell in question</span>
					<span class="nx">thLiner</span> <span class="o">=</span> <span class="nx">th</span><span class="p">.</span><span class="nx">item</span><span class="p">(</span><span class="nx">i</span><span class="p">).</span><span class="nx">get</span><span class="p">(</span><span class="s1">&#39;firstChild&#39;</span><span class="p">);</span> <span class="c1">//TODO: use liner API - how? this is a node.</span>
					<span class="nx">tdLiner</span> <span class="o">=</span> <span class="nx">td</span><span class="p">.</span><span class="nx">item</span><span class="p">(</span><span class="nx">i</span><span class="p">).</span><span class="nx">get</span><span class="p">(</span><span class="s1">&#39;firstChild&#39;</span><span class="p">);</span>
					
					<span class="cm">/*</span>
<span class="cm">					If browser is not IE - get the clientWidth of the Liner div and the TD.</span>
<span class="cm">					Note: 	We are not getting the width of the TDLiner, we are getting the width of the actual cell.</span>
<span class="cm">							Why? Because when the table is set to auto width, the cell will grow to try to fit the table in its container.</span>
<span class="cm">							The liner could potentially be much smaller than the cell width.</span>
<span class="cm">							</span>
<span class="cm">							TODO: Explore if there is a better way using only LINERS widths</span>
<span class="cm">					*/</span>
					<span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="nx">ie</span><span class="p">)</span> <span class="p">{</span>
						<span class="nx">thWidth</span> <span class="o">=</span> <span class="nx">thLiner</span><span class="p">.</span><span class="nx">get</span><span class="p">(</span><span class="s1">&#39;clientWidth&#39;</span><span class="p">);</span> <span class="c1">//TODO: this should actually be done with getComputedStyle(&#39;width&#39;) but this messes up columns. Explore this option.</span>
						<span class="nx">tdWidth</span> <span class="o">=</span> <span class="nx">td</span><span class="p">.</span><span class="nx">item</span><span class="p">(</span><span class="nx">i</span><span class="p">).</span><span class="nx">get</span><span class="p">(</span><span class="s1">&#39;clientWidth&#39;</span><span class="p">);</span>
					<span class="p">}</span>
					
					<span class="c1">//IE wasn&#39;t recognizing clientWidths, so we are using offsetWidths.</span>
					<span class="c1">//TODO: should use getComputedStyle(&#39;width&#39;) because offsetWidth will screw up when padding is changed.</span>
					<span class="k">else</span> <span class="p">{</span>
						<span class="nx">thWidth</span> <span class="o">=</span> <span class="nx">thLiner</span><span class="p">.</span><span class="nx">get</span><span class="p">(</span><span class="s1">&#39;offsetWidth&#39;</span><span class="p">);</span>
						<span class="nx">tdWidth</span> <span class="o">=</span> <span class="nx">td</span><span class="p">.</span><span class="nx">item</span><span class="p">(</span><span class="nx">i</span><span class="p">).</span><span class="nx">get</span><span class="p">(</span><span class="s1">&#39;offsetWidth&#39;</span><span class="p">);</span>
						<span class="c1">//thWidth = parseFloat(thLiner.getComputedStyle(&#39;width&#39;).split(&#39;px&#39;)[0]);</span>
						<span class="c1">//tdWidth = parseFloat(td.item(i).getComputedStyle(&#39;width&#39;).split(&#39;px&#39;)[0]); /* TODO: for some reason, using tdLiner.get(&#39;clientWidth&#39;) doesn&#39;t work - why not? */</span>
					<span class="p">}</span>
										
					<span class="c1">//if TH is bigger than TD, enlarge TD Liner</span>
					<span class="k">if</span> <span class="p">(</span><span class="nx">thWidth</span> <span class="o">&gt;</span> <span class="nx">tdWidth</span><span class="p">)</span> <span class="p">{</span>
						<span class="nx">tdLiner</span><span class="p">.</span><span class="nx">setStyle</span><span class="p">(</span><span class="s1">&#39;width&#39;</span><span class="p">,</span> <span class="p">(</span><span class="nx">thWidth</span> <span class="o">-</span> <span class="mi">20</span> <span class="o">+</span> <span class="s1">&#39;px&#39;</span><span class="p">));</span>
						<span class="c1">//thLiner.setStyle(&#39;width&#39;, (tdWidth - 20 + &#39;px&#39;));</span>
						<span class="c1">//stylesheet.set(className,{&#39;width&#39;: (thWidth - 20 + &#39;px&#39;)});</span>
					<span class="p">}</span>
					
					<span class="c1">//if TD is bigger than TH, enlarge TH Liner</span>
					<span class="k">else</span> <span class="k">if</span> <span class="p">(</span><span class="nx">tdWidth</span> <span class="o">&gt;</span> <span class="nx">thWidth</span><span class="p">)</span> <span class="p">{</span>
						<span class="nx">thLiner</span><span class="p">.</span><span class="nx">setStyle</span><span class="p">(</span><span class="s1">&#39;width&#39;</span><span class="p">,</span> <span class="p">(</span><span class="nx">tdWidth</span> <span class="o">-</span> <span class="mi">20</span> <span class="o">+</span> <span class="s1">&#39;px&#39;</span><span class="p">));</span>
						<span class="nx">tdLiner</span><span class="p">.</span><span class="nx">setStyle</span><span class="p">(</span><span class="s1">&#39;width&#39;</span><span class="p">,</span> <span class="p">(</span><span class="nx">tdWidth</span> <span class="o">-</span> <span class="mi">20</span> <span class="o">+</span> <span class="s1">&#39;px&#39;</span><span class="p">));</span> <span class="c1">//if you don&#39;t set an explicit width here, when the width is set in line 368, it will auto-shrink the widths of the other cells (because they dont have an explicit width)</span>
						<span class="c1">//stylesheet.set(className,{&#39;width&#39;: (tdWidth - 20 + &#39;px&#39;)});</span>
					<span class="p">}</span>
					
				<span class="c1">//}</span>

			<span class="p">}</span>
			
			<span class="c1">//stylesheet.enable();</span>

	<span class="p">},</span>
	
	<span class="cm">/**</span>
<span class="cm">    * @description Adds the approriate width to the liner divs of the TH nodes before they are appended to DOM</span>
<span class="cm">	*</span>
<span class="cm">    * @method _attachTheadThNode</span>
<span class="cm">    * @private</span>
<span class="cm">    */</span>
	<span class="nx">_attachTheadThNode</span><span class="o">:</span> <span class="kd">function</span><span class="p">(</span><span class="nx">o</span><span class="p">)</span> <span class="p">{</span>
		<span class="kd">var</span> <span class="nx">w</span> <span class="o">=</span> <span class="nx">o</span><span class="p">.</span><span class="nx">column</span><span class="p">.</span><span class="nx">get</span><span class="p">(</span><span class="s1">&#39;width&#39;</span><span class="p">)</span> <span class="o">||</span> <span class="s1">&#39;auto&#39;</span><span class="p">;</span>
		
		<span class="k">if</span> <span class="p">(</span><span class="nx">w</span> <span class="o">!==</span> <span class="s1">&#39;auto&#39;</span><span class="p">)</span> <span class="p">{</span>
			<span class="nx">o</span><span class="p">.</span><span class="nx">th</span><span class="p">.</span><span class="nx">get</span><span class="p">(</span><span class="s1">&#39;firstChild&#39;</span><span class="p">).</span><span class="nx">setStyles</span><span class="p">({</span><span class="nx">width</span><span class="o">:</span> <span class="nx">w</span><span class="p">,</span> <span class="nx">overflow</span><span class="o">:</span><span class="s1">&#39;hidden&#39;</span><span class="p">});</span> <span class="c1">//TODO: use liner API but liner is undefined here (not created?)</span>
		<span class="p">}</span>
		<span class="k">return</span> <span class="nx">o</span><span class="p">;</span>
	<span class="p">},</span>
	
	<span class="cm">/**</span>
<span class="cm">    * @description Adds the appropriate width to the liner divs of the TD nodes before they are appended to DOM</span>
<span class="cm">	*</span>
<span class="cm">    * @method _attachTbodyTdNode</span>
<span class="cm">    * @private</span>
<span class="cm">    */</span>
	<span class="nx">_attachTbodyTdNode</span><span class="o">:</span> <span class="kd">function</span><span class="p">(</span><span class="nx">o</span><span class="p">)</span> <span class="p">{</span>
		<span class="kd">var</span> <span class="nx">w</span> <span class="o">=</span> <span class="nx">o</span><span class="p">.</span><span class="nx">column</span><span class="p">.</span><span class="nx">get</span><span class="p">(</span><span class="s1">&#39;width&#39;</span><span class="p">)</span> <span class="o">||</span> <span class="s1">&#39;auto&#39;</span><span class="p">;</span>
		
		<span class="k">if</span> <span class="p">(</span><span class="nx">w</span> <span class="o">!==</span> <span class="s1">&#39;auto&#39;</span><span class="p">)</span> <span class="p">{</span>
			<span class="nx">o</span><span class="p">.</span><span class="nx">td</span><span class="p">.</span><span class="nx">get</span><span class="p">(</span><span class="s1">&#39;firstChild&#39;</span><span class="p">).</span><span class="nx">setStyles</span><span class="p">({</span><span class="nx">width</span><span class="o">:</span> <span class="nx">w</span><span class="p">,</span> <span class="nx">overflow</span><span class="o">:</span> <span class="s1">&#39;hidden&#39;</span><span class="p">});</span> <span class="c1">//TODO: use liner API but liner is undefined here (not created?)</span>
			<span class="c1">//o.td.setStyles({&#39;width&#39;: w, &#39;overflow&#39;: &#39;hidden&#39;});</span>
		<span class="p">}</span>
		<span class="k">return</span> <span class="nx">o</span><span class="p">;</span>
	<span class="p">},</span>
	
	<span class="cm">/**</span>
<span class="cm">    * @description Creates the body DIV that contains all the data. </span>
<span class="cm">	*</span>
<span class="cm">    * @method _createBodyContainer</span>
<span class="cm">    * @private</span>
<span class="cm">    */</span>
	<span class="nx">_createBodyContainer</span><span class="o">:</span> <span class="kd">function</span><span class="p">()</span> <span class="p">{</span>
		<span class="kd">var</span>	<span class="nx">bd</span> <span class="o">=</span> <span class="nx">YNode</span><span class="p">.</span><span class="nx">create</span><span class="p">(</span><span class="nx">CONTAINER_BODY</span><span class="p">),</span>
			<span class="nx">onScrollFn</span> <span class="o">=</span> <span class="nx">Y</span><span class="p">.</span><span class="nx">bind</span><span class="p">(</span><span class="s2">&quot;_onScroll&quot;</span><span class="p">,</span> <span class="k">this</span><span class="p">);</span>
			
		<span class="k">this</span><span class="p">.</span><span class="nx">_bodyContainerNode</span> <span class="o">=</span> <span class="nx">bd</span><span class="p">;</span>		
		<span class="k">this</span><span class="p">.</span><span class="nx">_setStylesForTbody</span><span class="p">();</span>
		
		<span class="nx">bd</span><span class="p">.</span><span class="nx">appendChild</span><span class="p">(</span><span class="k">this</span><span class="p">.</span><span class="nx">_parentTableNode</span><span class="p">);</span>
		<span class="k">this</span><span class="p">.</span><span class="nx">_parentContainer</span><span class="p">.</span><span class="nx">appendChild</span><span class="p">(</span><span class="nx">bd</span><span class="p">);</span>
		<span class="nx">bd</span><span class="p">.</span><span class="nx">on</span><span class="p">(</span><span class="s1">&#39;scroll&#39;</span><span class="p">,</span> <span class="nx">onScrollFn</span><span class="p">);</span>
	<span class="p">},</span>
	
	<span class="cm">/**</span>
<span class="cm">    * @description Creates the DIV that contains a &amp;lt;table&amp;gt; with all the headers. </span>
<span class="cm">	*</span>
<span class="cm">    * @method _createHeaderContainer</span>
<span class="cm">    * @private</span>
<span class="cm">    */</span>
	<span class="nx">_createHeaderContainer</span><span class="o">:</span> <span class="kd">function</span><span class="p">()</span> <span class="p">{</span>
		<span class="kd">var</span> <span class="nx">hd</span> <span class="o">=</span> <span class="nx">YNode</span><span class="p">.</span><span class="nx">create</span><span class="p">(</span><span class="nx">CONTAINER_HEADER</span><span class="p">),</span>
			<span class="nx">tbl</span> <span class="o">=</span> <span class="nx">YNode</span><span class="p">.</span><span class="nx">create</span><span class="p">(</span><span class="nx">TEMPLATE_TABLE</span><span class="p">);</span>
			
		<span class="k">this</span><span class="p">.</span><span class="nx">_headerContainerNode</span> <span class="o">=</span> <span class="nx">hd</span><span class="p">;</span>
		
		<span class="c1">//hd.setStyle(&#39;backgroundColor&#39;,this.get(&quot;COLOR_COLUMNFILLER&quot;));</span>
		<span class="k">this</span><span class="p">.</span><span class="nx">_setStylesForThead</span><span class="p">();</span>
		<span class="nx">tbl</span><span class="p">.</span><span class="nx">appendChild</span><span class="p">(</span><span class="k">this</span><span class="p">.</span><span class="nx">_parentTheadNode</span><span class="p">);</span>
		<span class="nx">hd</span><span class="p">.</span><span class="nx">appendChild</span><span class="p">(</span><span class="nx">tbl</span><span class="p">);</span>
		<span class="k">this</span><span class="p">.</span><span class="nx">_parentContainer</span><span class="p">.</span><span class="nx">prepend</span><span class="p">(</span><span class="nx">hd</span><span class="p">);</span>
		
	<span class="p">},</span>
	
	<span class="cm">/**</span>
<span class="cm">    * @description Creates styles for the TBODY based on what type of table it is.</span>
<span class="cm">	*</span>
<span class="cm">    * @method _setStylesForTbody</span>
<span class="cm">    * @private</span>
<span class="cm">    */</span>
	<span class="nx">_setStylesForTbody</span><span class="o">:</span> <span class="kd">function</span><span class="p">()</span> <span class="p">{</span>
		<span class="kd">var</span> <span class="nx">dir</span> <span class="o">=</span> <span class="k">this</span><span class="p">.</span><span class="nx">get</span><span class="p">(</span><span class="s1">&#39;_scroll&#39;</span><span class="p">),</span>
			<span class="nx">w</span> <span class="o">=</span> <span class="k">this</span><span class="p">.</span><span class="nx">get</span><span class="p">(</span><span class="s1">&#39;width&#39;</span><span class="p">)</span> <span class="o">||</span> <span class="s2">&quot;&quot;</span><span class="p">,</span>
			<span class="nx">h</span> <span class="o">=</span> <span class="k">this</span><span class="p">.</span><span class="nx">get</span><span class="p">(</span><span class="s1">&#39;height&#39;</span><span class="p">)</span> <span class="o">||</span> <span class="s2">&quot;&quot;</span><span class="p">,</span>
			<span class="nx">el</span> <span class="o">=</span> <span class="k">this</span><span class="p">.</span><span class="nx">_bodyContainerNode</span><span class="p">,</span>
			<span class="nx">styles</span> <span class="o">=</span> <span class="p">{</span><span class="nx">width</span><span class="o">:</span><span class="s2">&quot;&quot;</span><span class="p">,</span> <span class="nx">height</span><span class="o">:</span><span class="nx">h</span><span class="p">};</span>
				
		<span class="k">if</span> <span class="p">(</span><span class="nx">dir</span> <span class="o">===</span> <span class="s1">&#39;x&#39;</span><span class="p">)</span> <span class="p">{</span>
			<span class="c1">//X-Scrolling tables should not have a Y-Scrollbar so overflow-y is hidden. THe width on x-scrolling tables must be set by user.</span>
			<span class="nx">styles</span><span class="p">.</span><span class="nx">overflowY</span> <span class="o">=</span> <span class="s1">&#39;hidden&#39;</span><span class="p">;</span>
			<span class="nx">styles</span><span class="p">.</span><span class="nx">width</span> <span class="o">=</span> <span class="nx">w</span><span class="p">;</span>
		<span class="p">}</span>
		<span class="k">else</span> <span class="k">if</span> <span class="p">(</span><span class="nx">dir</span> <span class="o">===</span> <span class="s1">&#39;y&#39;</span><span class="p">)</span> <span class="p">{</span>
			<span class="c1">//Y-Scrolling tables should not have a X-Scrollbar so overflow-x is hidden. The width isn&#39;t neccessary because it can be auto.</span>
			<span class="nx">styles</span><span class="p">.</span><span class="nx">overflowX</span> <span class="o">=</span> <span class="s1">&#39;hidden&#39;</span><span class="p">;</span>
		<span class="p">}</span>
		
		<span class="k">else</span> <span class="k">if</span> <span class="p">(</span><span class="nx">dir</span> <span class="o">===</span> <span class="s1">&#39;xy&#39;</span><span class="p">)</span> <span class="p">{</span>
			<span class="nx">styles</span><span class="p">.</span><span class="nx">width</span> <span class="o">=</span> <span class="nx">w</span><span class="p">;</span>
		<span class="p">}</span>
		
		<span class="k">else</span> <span class="p">{</span>
		    <span class="c1">//scrolling is set to &#39;null&#39; - ie: width and height are not set. Don&#39;t have any type of scrolling.</span>
		    <span class="nx">styles</span><span class="p">.</span><span class="nx">overflowX</span> <span class="o">=</span> <span class="s1">&#39;hidden&#39;</span><span class="p">;</span>
		    <span class="nx">styles</span><span class="p">.</span><span class="nx">overflowY</span> <span class="o">=</span> <span class="s1">&#39;hidden&#39;</span><span class="p">;</span>
		    <span class="nx">styles</span><span class="p">.</span><span class="nx">width</span> <span class="o">=</span> <span class="nx">w</span><span class="p">;</span>
		<span class="p">}</span>
		
		<span class="nx">el</span><span class="p">.</span><span class="nx">setStyles</span><span class="p">(</span><span class="nx">styles</span><span class="p">);</span>
		<span class="k">return</span> <span class="nx">el</span><span class="p">;</span>
	<span class="p">},</span>
	
	
	<span class="cm">/**</span>
<span class="cm">    * @description Creates styles for the THEAD based on what type of datatable it is.</span>
<span class="cm">	*</span>
<span class="cm">    * @method _setStylesForThead</span>
<span class="cm">    * @private</span>
<span class="cm">    */</span>
	<span class="nx">_setStylesForThead</span><span class="o">:</span> <span class="kd">function</span><span class="p">()</span> <span class="p">{</span>
		<span class="kd">var</span> <span class="nx">w</span> <span class="o">=</span> <span class="k">this</span><span class="p">.</span><span class="nx">get</span><span class="p">(</span><span class="s1">&#39;width&#39;</span><span class="p">)</span> <span class="o">||</span> <span class="s2">&quot;&quot;</span><span class="p">,</span>
			<span class="nx">el</span> <span class="o">=</span> <span class="k">this</span><span class="p">.</span><span class="nx">_headerContainerNode</span><span class="p">;</span>
		
		<span class="c1">//if (dir !== &#39;y&#39;) {</span>
			<span class="nx">el</span><span class="p">.</span><span class="nx">setStyles</span><span class="p">({</span><span class="s1">&#39;width&#39;</span><span class="o">:</span> <span class="nx">w</span><span class="p">,</span> <span class="s1">&#39;overflow&#39;</span><span class="o">:</span> <span class="s1">&#39;hidden&#39;</span><span class="p">});</span>
		<span class="c1">// }</span>
	<span class="p">},</span>
	
	<span class="cm">/**</span>
<span class="cm">    * @description Sets an auto width on the content box if it doesn&#39;t exist or if its a y-datatable.</span>
<span class="cm">	*</span>
<span class="cm">    * @method _setContentBoxDimensions</span>
<span class="cm">    * @private</span>
<span class="cm">    */</span>
	<span class="nx">_setContentBoxDimensions</span><span class="o">:</span> <span class="kd">function</span><span class="p">()</span> <span class="p">{</span>
		
		<span class="k">if</span> <span class="p">(</span><span class="k">this</span><span class="p">.</span><span class="nx">get</span><span class="p">(</span><span class="s1">&#39;_scroll&#39;</span><span class="p">)</span> <span class="o">===</span> <span class="s1">&#39;y&#39;</span> <span class="o">||</span> <span class="p">(</span><span class="o">!</span><span class="k">this</span><span class="p">.</span><span class="nx">get</span><span class="p">(</span><span class="s1">&#39;width&#39;</span><span class="p">)))</span> <span class="p">{</span>
			<span class="k">this</span><span class="p">.</span><span class="nx">_parentContainer</span><span class="p">.</span><span class="nx">setStyle</span><span class="p">(</span><span class="s1">&#39;width&#39;</span><span class="p">,</span> <span class="s1">&#39;auto&#39;</span><span class="p">);</span>
		<span class="p">}</span>
		
	<span class="p">},</span>
	
	<span class="c1">/////////////////////////////////////////////////////////////////////////////</span>
	<span class="c1">//</span>
	<span class="c1">// Scroll Syncing</span>
	<span class="c1">//</span>
	<span class="c1">/////////////////////////////////////////////////////////////////////////////</span>
	
	<span class="cm">/**</span>
<span class="cm">    * @description Ensures that scrolling is synced across the two tables</span>
<span class="cm">	*</span>
<span class="cm">    * @method _onScroll</span>
<span class="cm">    * @private</span>
<span class="cm">    */</span>
	<span class="nx">_onScroll</span><span class="o">:</span> <span class="kd">function</span><span class="p">()</span> <span class="p">{</span>
		<span class="k">this</span><span class="p">.</span><span class="nx">_headerContainerNode</span><span class="p">.</span><span class="nx">set</span><span class="p">(</span><span class="s1">&#39;scrollLeft&#39;</span><span class="p">,</span> <span class="k">this</span><span class="p">.</span><span class="nx">_bodyContainerNode</span><span class="p">.</span><span class="nx">get</span><span class="p">(</span><span class="s1">&#39;scrollLeft&#39;</span><span class="p">));</span>
	<span class="p">},</span>
	
	<span class="cm">/**</span>
<span class="cm">	 * @description Syncs padding around scrollable tables, including Column header right-padding</span>
<span class="cm">	 * and container width and height.</span>
<span class="cm">	 *</span>
<span class="cm">	 * @method _syncScroll</span>
<span class="cm">	 * @private </span>
<span class="cm">	 */</span>
	<span class="nx">_syncScroll</span> <span class="o">:</span> <span class="kd">function</span><span class="p">()</span> <span class="p">{</span>
		<span class="k">this</span><span class="p">.</span><span class="nx">_syncScrollX</span><span class="p">();</span>
		<span class="k">this</span><span class="p">.</span><span class="nx">_syncScrollY</span><span class="p">();</span>
		<span class="k">this</span><span class="p">.</span><span class="nx">_syncScrollOverhang</span><span class="p">();</span>
		<span class="k">if</span><span class="p">(</span><span class="nx">YUA</span><span class="p">.</span><span class="nx">opera</span><span class="p">)</span> <span class="p">{</span>
			<span class="c1">// Bug 1925874</span>
			<span class="k">this</span><span class="p">.</span><span class="nx">_headerContainerNode</span><span class="p">.</span><span class="nx">set</span><span class="p">(</span><span class="s1">&#39;scrollLeft&#39;</span><span class="p">,</span> <span class="k">this</span><span class="p">.</span><span class="nx">_bodyContainerNode</span><span class="p">.</span><span class="nx">get</span><span class="p">(</span><span class="s1">&#39;scrollLeft&#39;</span><span class="p">));</span>
			
			<span class="k">if</span><span class="p">(</span><span class="o">!</span><span class="k">this</span><span class="p">.</span><span class="nx">get</span><span class="p">(</span><span class="s2">&quot;width&quot;</span><span class="p">))</span> <span class="p">{</span>
		 		<span class="c1">// Bug 1926125</span>
		 		<span class="nb">document</span><span class="p">.</span><span class="nx">body</span><span class="p">.</span><span class="nx">style</span> <span class="o">+=</span> <span class="s1">&#39;&#39;</span><span class="p">;</span>
		 	<span class="p">}</span>
		<span class="p">}</span>
	<span class="p">},</span>
	
	<span class="cm">/**</span>
<span class="cm">	* @description Snaps container width for y-scrolling tables.</span>
<span class="cm">	*</span>
<span class="cm">	* @method _syncScrollY</span>
<span class="cm">	* @private</span>
<span class="cm">	*/</span>
	<span class="nx">_syncScrollY</span> <span class="o">:</span> <span class="kd">function</span><span class="p">()</span> <span class="p">{</span>
		<span class="kd">var</span> <span class="nx">tBody</span> <span class="o">=</span> <span class="k">this</span><span class="p">.</span><span class="nx">_parentTbodyNode</span><span class="p">,</span>
		    <span class="nx">tBodyContainer</span> <span class="o">=</span> <span class="k">this</span><span class="p">.</span><span class="nx">_bodyContainerNode</span><span class="p">,</span>
			<span class="nx">w</span><span class="p">;</span>
		    <span class="c1">// X-scrolling not enabled</span>
			<span class="k">if</span><span class="p">(</span><span class="o">!</span><span class="k">this</span><span class="p">.</span><span class="nx">get</span><span class="p">(</span><span class="s2">&quot;width&quot;</span><span class="p">))</span> <span class="p">{</span>
		        <span class="c1">// Snap outer container width to content</span>
		        <span class="nx">w</span> <span class="o">=</span> <span class="p">(</span><span class="nx">tBodyContainer</span><span class="p">.</span><span class="nx">get</span><span class="p">(</span><span class="s1">&#39;scrollHeight&#39;</span><span class="p">)</span> <span class="o">&gt;</span> <span class="nx">tBodyContainer</span><span class="p">.</span><span class="nx">get</span><span class="p">(</span><span class="s1">&#39;clientHeight&#39;</span><span class="p">))</span> <span class="o">?</span>
		    	<span class="c1">// but account for y-scrollbar since it is visible</span>
					<span class="p">(</span><span class="nx">tBody</span><span class="p">.</span><span class="nx">get</span><span class="p">(</span><span class="s1">&#39;parentNode&#39;</span><span class="p">).</span><span class="nx">get</span><span class="p">(</span><span class="s1">&#39;clientWidth&#39;</span><span class="p">)</span> <span class="o">+</span> <span class="mi">19</span><span class="p">)</span> <span class="o">+</span> <span class="s2">&quot;px&quot;</span> <span class="o">:</span>
		     		<span class="c1">// no y-scrollbar, just borders</span>
            		<span class="p">(</span><span class="nx">tBody</span><span class="p">.</span><span class="nx">get</span><span class="p">(</span><span class="s1">&#39;parentNode&#39;</span><span class="p">).</span><span class="nx">get</span><span class="p">(</span><span class="s1">&#39;clientWidth&#39;</span><span class="p">)</span> <span class="o">+</span> <span class="mi">2</span><span class="p">)</span> <span class="o">+</span> <span class="s2">&quot;px&quot;</span><span class="p">;</span>
				<span class="k">this</span><span class="p">.</span><span class="nx">_parentContainer</span><span class="p">.</span><span class="nx">setStyle</span><span class="p">(</span><span class="s1">&#39;width&#39;</span><span class="p">,</span> <span class="nx">w</span><span class="p">);</span>
		<span class="p">}</span>
	<span class="p">},</span>
		
	<span class="cm">/**</span>
<span class="cm">	 * @description Snaps container height for x-scrolling tables in IE. Syncs message TBODY width. </span>
<span class="cm">	 * Taken from YUI2 ScrollingDataTable.js</span>
<span class="cm">	 *</span>
<span class="cm">	 * @method _syncScrollX</span>
<span class="cm">	 * @private</span>
<span class="cm">	 */</span>
	<span class="nx">_syncScrollX</span><span class="o">:</span> <span class="kd">function</span><span class="p">()</span> <span class="p">{</span>
		<span class="kd">var</span> <span class="nx">tBody</span> <span class="o">=</span> <span class="k">this</span><span class="p">.</span><span class="nx">_parentTbodyNode</span><span class="p">,</span>
			<span class="nx">tBodyContainer</span> <span class="o">=</span> <span class="k">this</span><span class="p">.</span><span class="nx">_bodyContainerNode</span><span class="p">,</span>
			<span class="nx">w</span><span class="p">;</span>
			<span class="k">this</span><span class="p">.</span><span class="nx">_headerContainerNode</span><span class="p">.</span><span class="nx">set</span><span class="p">(</span><span class="s1">&#39;scrollLeft&#39;</span><span class="p">,</span> <span class="k">this</span><span class="p">.</span><span class="nx">_bodyContainerNode</span><span class="p">.</span><span class="nx">get</span><span class="p">(</span><span class="s1">&#39;scrollLeft&#39;</span><span class="p">));</span>
			
			<span class="k">if</span><span class="p">(</span><span class="o">!</span><span class="k">this</span><span class="p">.</span><span class="nx">get</span><span class="p">(</span><span class="s1">&#39;height&#39;</span><span class="p">)</span> <span class="o">&amp;&amp;</span> <span class="p">(</span><span class="nx">YUA</span><span class="p">.</span><span class="nx">ie</span><span class="p">))</span> <span class="p">{</span>
						<span class="nx">w</span> <span class="o">=</span> <span class="p">(</span><span class="nx">tBodyContainer</span><span class="p">.</span><span class="nx">get</span><span class="p">(</span><span class="s1">&#39;scrollWidth&#39;</span><span class="p">)</span> <span class="o">&gt;</span> <span class="nx">tBodyContainer</span><span class="p">.</span><span class="nx">get</span><span class="p">(</span><span class="s1">&#39;offsetWidth&#39;</span><span class="p">))</span> <span class="o">?</span>
			            <span class="p">(</span><span class="nx">tBody</span><span class="p">.</span><span class="nx">get</span><span class="p">(</span><span class="s1">&#39;parentNode&#39;</span><span class="p">).</span><span class="nx">get</span><span class="p">(</span><span class="s1">&#39;offsetHeight&#39;</span><span class="p">)</span> <span class="o">+</span> <span class="mi">18</span><span class="p">)</span> <span class="o">+</span> <span class="s2">&quot;px&quot;</span> <span class="o">:</span> 
			            <span class="nx">tBody</span><span class="p">.</span><span class="nx">get</span><span class="p">(</span><span class="s1">&#39;parentNode&#39;</span><span class="p">).</span><span class="nx">get</span><span class="p">(</span><span class="s1">&#39;offsetHeight&#39;</span><span class="p">)</span> <span class="o">+</span> <span class="s2">&quot;px&quot;</span><span class="p">;</span>
						
						<span class="nx">tBodyContainer</span><span class="p">.</span><span class="nx">setStyle</span><span class="p">(</span><span class="s1">&#39;height&#39;</span><span class="p">,</span> <span class="nx">w</span><span class="p">);</span>
					<span class="p">}</span>
			
		<span class="k">if</span> <span class="p">(</span><span class="nx">tBody</span><span class="p">.</span><span class="nx">get</span><span class="p">(</span><span class="s1">&#39;rows&#39;</span><span class="p">).</span><span class="nx">length</span> <span class="o">===</span> <span class="mi">0</span><span class="p">)</span> <span class="p">{</span>
			<span class="k">this</span><span class="p">.</span><span class="nx">_parentMsgNode</span><span class="p">.</span><span class="nx">get</span><span class="p">(</span><span class="s1">&#39;parentNode&#39;</span><span class="p">).</span><span class="nx">setStyle</span><span class="p">(</span><span class="s1">&#39;width&#39;</span><span class="p">,</span> <span class="k">this</span><span class="p">.</span><span class="nx">_parentTheadNode</span><span class="p">.</span><span class="nx">get</span><span class="p">(</span><span class="s1">&#39;parentNode&#39;</span><span class="p">).</span><span class="nx">get</span><span class="p">(</span><span class="s1">&#39;offsetWidth&#39;</span><span class="p">)</span><span class="o">+</span><span class="s1">&#39;px&#39;</span><span class="p">);</span>
		<span class="p">}</span>
		<span class="k">else</span> <span class="p">{</span>
			<span class="k">this</span><span class="p">.</span><span class="nx">_parentMsgNode</span><span class="p">.</span><span class="nx">get</span><span class="p">(</span><span class="s1">&#39;parentNode&#39;</span><span class="p">).</span><span class="nx">setStyle</span><span class="p">(</span><span class="s1">&#39;width&#39;</span><span class="p">,</span> <span class="s2">&quot;&quot;</span><span class="p">);</span>
		<span class="p">}</span>
			
	<span class="p">},</span>
	
	<span class="cm">/**</span>
<span class="cm">	 * @description Adds/removes Column header overhang as necesary.</span>
<span class="cm">	 * Taken from YUI2 ScrollingDataTable.js</span>
<span class="cm">	 *</span>
<span class="cm">	 * @method _syncScrollOverhang</span>
<span class="cm">	 * @private</span>
<span class="cm">	 */</span>
	<span class="nx">_syncScrollOverhang</span><span class="o">:</span> <span class="kd">function</span><span class="p">()</span> <span class="p">{</span>
		<span class="kd">var</span> <span class="nx">tBodyContainer</span> <span class="o">=</span> <span class="k">this</span><span class="p">.</span><span class="nx">_bodyContainerNode</span><span class="p">,</span>
			<span class="nx">padding</span> <span class="o">=</span> <span class="mi">1</span><span class="p">;</span>
		
		<span class="c1">//when its both x and y scrolling</span>
		<span class="k">if</span> <span class="p">((</span><span class="nx">tBodyContainer</span><span class="p">.</span><span class="nx">get</span><span class="p">(</span><span class="s1">&#39;scrollHeight&#39;</span><span class="p">)</span> <span class="o">&gt;</span> <span class="nx">tBodyContainer</span><span class="p">.</span><span class="nx">get</span><span class="p">(</span><span class="s1">&#39;clientHeight&#39;</span><span class="p">))</span> <span class="o">||</span> <span class="p">(</span><span class="nx">tBodyContainer</span><span class="p">.</span><span class="nx">get</span><span class="p">(</span><span class="s1">&#39;scrollWidth&#39;</span><span class="p">)</span> <span class="o">&gt;</span> <span class="nx">tBodyContainer</span><span class="p">.</span><span class="nx">get</span><span class="p">(</span><span class="s1">&#39;clientWidth&#39;</span><span class="p">)))</span> <span class="p">{</span>
			<span class="nx">padding</span> <span class="o">=</span> <span class="mi">18</span><span class="p">;</span>
		<span class="p">}</span>
		
		<span class="k">this</span><span class="p">.</span><span class="nx">_setOverhangValue</span><span class="p">(</span><span class="nx">padding</span><span class="p">);</span>
		
		<span class="c1">//After the widths have synced, there is a wrapping issue in the headerContainer in IE6. The header does not span the full</span>
		<span class="c1">//length of the table (does not cover all of the y-scrollbar). By adding this line in when there is a y-scroll, the header will span correctly.</span>
		<span class="c1">//TODO: this should not really occur on this.get(&#39;_scroll&#39;) === y - it should occur when scrollHeight &gt; clientHeight, but clientHeight is not getting recognized in IE6?</span>
		<span class="k">if</span> <span class="p">(</span><span class="nx">YUA</span><span class="p">.</span><span class="nx">ie</span> <span class="o">!==</span> <span class="mi">0</span> <span class="o">&amp;&amp;</span> <span class="k">this</span><span class="p">.</span><span class="nx">get</span><span class="p">(</span><span class="s1">&#39;_scroll&#39;</span><span class="p">)</span> <span class="o">===</span> <span class="s1">&#39;y&#39;</span> <span class="o">&amp;&amp;</span> <span class="k">this</span><span class="p">.</span><span class="nx">_bodyContainerNode</span><span class="p">.</span><span class="nx">get</span><span class="p">(</span><span class="s1">&#39;scrollHeight&#39;</span><span class="p">)</span> <span class="o">&gt;</span> <span class="k">this</span><span class="p">.</span><span class="nx">_bodyContainerNode</span><span class="p">.</span><span class="nx">get</span><span class="p">(</span><span class="s1">&#39;offsetHeight&#39;</span><span class="p">))</span>
		<span class="p">{</span>
			<span class="k">this</span><span class="p">.</span><span class="nx">_headerContainerNode</span><span class="p">.</span><span class="nx">setStyle</span><span class="p">(</span><span class="s1">&#39;width&#39;</span><span class="p">,</span> <span class="k">this</span><span class="p">.</span><span class="nx">_parentContainer</span><span class="p">.</span><span class="nx">get</span><span class="p">(</span><span class="s1">&#39;width&#39;</span><span class="p">));</span>
		<span class="p">}</span>
	<span class="p">},</span>
	
	
	<span class="cm">/**</span>
<span class="cm">	 * @description Sets Column header overhang to given width.</span>
<span class="cm">	 * Taken from YUI2 ScrollingDataTable.js with minor modifications</span>
<span class="cm">	 *</span>
<span class="cm">	 * @method _setOverhangValue</span>
<span class="cm">	 * @param nBorderWidth {Number} Value of new border for overhang. </span>
<span class="cm">	 * @private</span>
<span class="cm">	 */</span> 
	<span class="nx">_setOverhangValue</span><span class="o">:</span> <span class="kd">function</span><span class="p">(</span><span class="nx">borderWidth</span><span class="p">)</span> <span class="p">{</span>
		<span class="kd">var</span> <span class="nx">host</span> <span class="o">=</span> <span class="k">this</span><span class="p">.</span><span class="nx">get</span><span class="p">(</span><span class="s1">&#39;host&#39;</span><span class="p">),</span>
			<span class="nx">cols</span> <span class="o">=</span> <span class="nx">host</span><span class="p">.</span><span class="nx">get</span><span class="p">(</span><span class="s1">&#39;columnset&#39;</span><span class="p">).</span><span class="nx">get</span><span class="p">(</span><span class="s1">&#39;definitions&#39;</span><span class="p">),</span>
		 	<span class="c1">//lastHeaders = cols[cols.length-1] || [],</span>
	        <span class="nx">len</span> <span class="o">=</span> <span class="nx">cols</span><span class="p">.</span><span class="nx">length</span><span class="p">,</span>
	        <span class="nx">value</span> <span class="o">=</span> <span class="nx">borderWidth</span> <span class="o">+</span> <span class="s2">&quot;px solid &quot;</span> <span class="o">+</span> <span class="k">this</span><span class="p">.</span><span class="nx">get</span><span class="p">(</span><span class="s2">&quot;COLOR_COLUMNFILLER&quot;</span><span class="p">),</span>
			<span class="nx">children</span> <span class="o">=</span> <span class="nx">YNode</span><span class="p">.</span><span class="nx">all</span><span class="p">(</span><span class="s1">&#39;#&#39;</span><span class="o">+</span><span class="k">this</span><span class="p">.</span><span class="nx">_parentContainer</span><span class="p">.</span><span class="nx">get</span><span class="p">(</span><span class="s1">&#39;id&#39;</span><span class="p">)</span><span class="o">+</span> <span class="s1">&#39; .&#39;</span> <span class="o">+</span> <span class="nx">CLASS_HEADER</span> <span class="o">+</span> <span class="s1">&#39; table thead th&#39;</span><span class="p">);</span>

		<span class="nx">children</span><span class="p">.</span><span class="nx">item</span><span class="p">(</span><span class="nx">len</span><span class="o">-</span><span class="mi">1</span><span class="p">).</span><span class="nx">setStyle</span><span class="p">(</span><span class="s1">&#39;borderRight&#39;</span><span class="p">,</span> <span class="nx">value</span><span class="p">);</span>
	<span class="p">}</span>
	
<span class="p">});</span>

<span class="nx">Y</span><span class="p">.</span><span class="nx">namespace</span><span class="p">(</span><span class="s2">&quot;Plugin&quot;</span><span class="p">).</span><span class="nx">DataTableScroll</span> <span class="o">=</span> <span class="nx">DataTableScroll</span><span class="p">;</span>
</pre></div>

                    </div>
			</div>
		</div>
		<div class="yui-b">
            <div class="nav">

                    <div id="moduleList" class="module">
                        <h4>Modules</h4>
                        <ul class="content">
                                <li class=""><a href="module_align-plugin.html" title="align-plugin">align-plugin</a></li>
                                <li class=""><a href="module_anim.html" title="anim">anim</a></li>
                                <li class=""><a href="module_arraysort.html" title="arraysort">arraysort</a></li>
                                <li class=""><a href="module_async-queue.html" title="async-queue">async-queue</a></li>
                                <li class=""><a href="module_attribute.html" title="attribute">attribute</a></li>
                                <li class=""><a href="module_autocomplete.html" title="autocomplete">autocomplete</a></li>
                                <li class=""><a href="module_base.html" title="base">base</a></li>
                                <li class=""><a href="module_cache.html" title="cache">cache</a></li>
                                <li class=""><a href="module_charts.html" title="charts">charts</a></li>
                                <li class=""><a href="module_classnamemanager.html" title="classnamemanager">classnamemanager</a></li>
                                <li class=""><a href="module_collection.html" title="collection">collection</a></li>
                                <li class=""><a href="module_console.html" title="console">console</a></li>
                                <li class=""><a href="module_console-filters.html" title="console-filters">console-filters</a></li>
                                <li class=""><a href="module_cookie.html" title="cookie">cookie</a></li>
                                <li class=""><a href="module_dataschema.html" title="dataschema">dataschema</a></li>
                                <li class=""><a href="module_datasource.html" title="datasource">datasource</a></li>
                                <li class="selected"><a href="module_datatable.html" title="datatable">datatable</a></li>
                                <li class=""><a href="module_datatype.html" title="datatype">datatype</a></li>
                                <li class=""><a href="module_dd.html" title="dd">dd</a></li>
                                <li class=""><a href="module_dial.html" title="dial">dial</a></li>
                                <li class=""><a href="module_dom.html" title="dom">dom</a></li>
                                <li class=""><a href="module_dump.html" title="dump">dump</a></li>
                                <li class=""><a href="module_editor.html" title="editor">editor</a></li>
                                <li class=""><a href="module_escape.html" title="escape">escape</a></li>
                                <li class=""><a href="module_event.html" title="event">event</a></li>
                                <li class=""><a href="module_event-custom.html" title="event-custom">event-custom</a></li>
                                <li class=""><a href="module_event-gestures.html" title="event-gestures">event-gestures</a></li>
                                <li class=""><a href="module_event-simulate.html" title="event-simulate">event-simulate</a></li>
                                <li class=""><a href="module_event-touch.html" title="event-touch">event-touch</a></li>
                                <li class=""><a href="module_event-valuechange.html" title="event-valuechange">event-valuechange</a></li>
                                <li class=""><a href="module_highlight.html" title="highlight">highlight</a></li>
                                <li class=""><a href="module_history.html" title="history">history</a></li>
                                <li class=""><a href="module_history-deprecated.html" title="history-deprecated">history-deprecated</a></li>
                                <li class=""><a href="module_imageloader.html" title="imageloader">imageloader</a></li>
                                <li class=""><a href="module_intl.html" title="intl">intl</a></li>
                                <li class=""><a href="module_io.html" title="io">io</a></li>
                                <li class=""><a href="module_json.html" title="json">json</a></li>
                                <li class=""><a href="module_jsonp.html" title="jsonp">jsonp</a></li>
                                <li class=""><a href="module_loader.html" title="loader">loader</a></li>
                                <li class=""><a href="module_node.html" title="node">node</a></li>
                                <li class=""><a href="module_node-flick.html" title="node-flick">node-flick</a></li>
                                <li class=""><a href="module_node-focusmanager.html" title="node-focusmanager">node-focusmanager</a></li>
                                <li class=""><a href="module_node-menunav.html" title="node-menunav">node-menunav</a></li>
                                <li class=""><a href="module_oop.html" title="oop">oop</a></li>
                                <li class=""><a href="module_overlay.html" title="overlay">overlay</a></li>
                                <li class=""><a href="module_plugin.html" title="plugin">plugin</a></li>
                                <li class=""><a href="module_pluginhost.html" title="pluginhost">pluginhost</a></li>
                                <li class=""><a href="module_pluginhost-base.html" title="pluginhost-base">pluginhost-base</a></li>
                                <li class=""><a href="module_profiler.html" title="profiler">profiler</a></li>
                                <li class=""><a href="module_querystring.html" title="querystring">querystring</a></li>
                                <li class=""><a href="module_queue-promote.html" title="queue-promote">queue-promote</a></li>
                                <li class=""><a href="module_recordset.html" title="recordset">recordset</a></li>
                                <li class=""><a href="module_resize.html" title="resize">resize</a></li>
                                <li class=""><a href="module_scrollview.html" title="scrollview">scrollview</a></li>
                                <li class=""><a href="module_scrollview-base.html" title="scrollview-base">scrollview-base</a></li>
                                <li class=""><a href="module_scrollview-base-ie.html" title="scrollview-base-ie">scrollview-base-ie</a></li>
                                <li class=""><a href="module_scrollview-paginator.html" title="scrollview-paginator">scrollview-paginator</a></li>
                                <li class=""><a href="module_scrollview-scrollbars.html" title="scrollview-scrollbars">scrollview-scrollbars</a></li>
                                <li class=""><a href="module_shim-plugin.html" title="shim-plugin">shim-plugin</a></li>
                                <li class=""><a href="module_slider.html" title="slider">slider</a></li>
                                <li class=""><a href="module_sortable.html" title="sortable">sortable</a></li>
                                <li class=""><a href="module_stylesheet.html" title="stylesheet">stylesheet</a></li>
                                <li class=""><a href="module_substitute.html" title="substitute">substitute</a></li>
                                <li class=""><a href="module_swf.html" title="swf">swf</a></li>
                                <li class=""><a href="module_swfdetect.html" title="swfdetect">swfdetect</a></li>
                                <li class=""><a href="module_tabview.html" title="tabview">tabview</a></li>
                                <li class=""><a href="module_test.html" title="test">test</a></li>
                                <li class=""><a href="module_text.html" title="text">text</a></li>
                                <li class=""><a href="module_transition.html" title="transition">transition</a></li>
                                <li class=""><a href="module_uploader.html" title="uploader">uploader</a></li>
                                <li class=""><a href="module_widget.html" title="widget">widget</a></li>
                                <li class=""><a href="module_widget-anim.html" title="widget-anim">widget-anim</a></li>
                                <li class=""><a href="module_widget-base-ie.html" title="widget-base-ie">widget-base-ie</a></li>
                                <li class=""><a href="module_widget-child.html" title="widget-child">widget-child</a></li>
                                <li class=""><a href="module_widget-locale.html" title="widget-locale">widget-locale</a></li>
                                <li class=""><a href="module_widget-parent.html" title="widget-parent">widget-parent</a></li>
                                <li class=""><a href="module_widget-position.html" title="widget-position">widget-position</a></li>
                                <li class=""><a href="module_widget-position-align.html" title="widget-position-align">widget-position-align</a></li>
                                <li class=""><a href="module_widget-position-constrain.html" title="widget-position-constrain">widget-position-constrain</a></li>
                                <li class=""><a href="module_widget-stack.html" title="widget-stack">widget-stack</a></li>
                                <li class=""><a href="module_widget-stdmod.html" title="widget-stdmod">widget-stdmod</a></li>
                                <li class=""><a href="module_yql.html" title="yql">yql</a></li>
                                <li class=""><a href="module_yui.html" title="yui">yui</a></li>
                        </ul>
                    </div>

                    <div id="classList" class="module">
                        <h4>Classes</h4>
                        <ul class="content">
                                <li class=""><a href="Column.html" title="Column">Column</a></li>
                                <li class=""><a href="Columnset.html" title="Columnset">Columnset</a></li>
                                <li class=""><a href="DataTable.Base.html" title="DataTable.Base">DataTable.Base</a></li>
                                <li class=""><a href="DataTableDataSource.html" title="DataTableDataSource">DataTableDataSource</a></li>
                                <li class=""><a href="DataTableScroll.html" title="DataTableScroll">DataTableScroll</a></li>
                                <li class=""><a href="DataTableSort.html" title="DataTableSort">DataTableSort</a></li>
                        </ul>
                    </div>

                    <div id="fileList" class="module">
                        <h4>Files</h4>
                        <ul class="content">        
                                <li class=""><a href="column.js.html" title="column.js">column.js</a></li>
                                <li class=""><a href="columnset.js.html" title="columnset.js">columnset.js</a></li>
                                <li class=""><a href="datatable-base-vars.js.html" title="datatable-base-vars.js">datatable-base-vars.js</a></li>
                                <li class=""><a href="datatable-base.js.html" title="datatable-base.js">datatable-base.js</a></li>
                                <li class=""><a href="datatable-colresize.js.html" title="datatable-colresize.js">datatable-colresize.js</a></li>
                                <li class=""><a href="datatable-datasource.js.html" title="datatable-datasource.js">datatable-datasource.js</a></li>
                                <li class="selected"><a href="datatable-scroll.js.html" title="datatable-scroll.js">datatable-scroll.js</a></li>
                                <li class=""><a href="datatable-sort.js.html" title="datatable-sort.js">datatable-sort.js</a></li>
                        </ul>
                    </div>





            </div>
		</div>
	</div>
	<div id="ft">
        <hr />
        Copyright &copy; 2011 Yahoo! Inc. All rights reserved.
	</div>
</div>
<script type="text/javascript">

    var ALL_YUI_PROPS = [{"access": "", "host": "Column", "name": "abbr", "url": "Column.html#config_abbr", "type": "config"}, {"access": "", "host": "Column", "name": "abbrChange", "url": "Column.html#event_abbrChange", "type": "event"}, {"access": "protected", "host": "DataTable.Base", "name": "_addCaptionNode", "url": "DataTable.Base.html#method__addCaptionNode", "type": "method"}, {"access": "protected", "host": "DataTable.Base", "name": "_addColgroupNode", "url": "DataTable.Base.html#method__addColgroupNode", "type": "method"}, {"access": "protected", "host": "DataTable.Base", "name": "_addMessageNode", "url": "DataTable.Base.html#method__addMessageNode", "type": "method"}, {"access": "protected", "host": "DataTable.Base", "name": "_addTableNode", "url": "DataTable.Base.html#method__addTableNode", "type": "method"}, {"access": "protected", "host": "DataTable.Base", "name": "_addTbodyNode", "url": "DataTable.Base.html#method__addTbodyNode", "type": "method"}, {"access": "protected", "host": "DataTable.Base", "name": "_addTbodyTdNode", "url": "DataTable.Base.html#method__addTbodyTdNode", "type": "method"}, {"access": "protected", "host": "DataTable.Base", "name": "_addTbodyTrNode", "url": "DataTable.Base.html#method__addTbodyTrNode", "type": "method"}, {"access": "protected", "host": "DataTable.Base", "name": "_addTheadNode", "url": "DataTable.Base.html#method__addTheadNode", "type": "method"}, {"access": "protected", "host": "DataTable.Base", "name": "_addTheadThNode", "url": "DataTable.Base.html#method__addTheadThNode", "type": "method"}, {"access": "protected", "host": "DataTable.Base", "name": "_addTheadTrNode", "url": "DataTable.Base.html#method__addTheadTrNode", "type": "method"}, {"access": "private", "host": "Column", "name": "_afterAbbrChange", "url": "Column.html#method__afterAbbrChange", "type": "method"}, {"access": "protected", "host": "DataTable.Base", "name": "_afterCaptionChange", "url": "DataTable.Base.html#method__afterCaptionChange", "type": "method"}, {"access": "protected", "host": "DataTable.Base", "name": "_afterColumnsetChange", "url": "DataTable.Base.html#method__afterColumnsetChange", "type": "method"}, {"access": "protected", "host": "DataTable.Base", "name": "_afterRecordsetChange", "url": "DataTable.Base.html#method__afterRecordsetChange", "type": "method"}, {"access": "protected", "host": "DataTable.Base", "name": "_afterSummaryChange", "url": "DataTable.Base.html#method__afterSummaryChange", "type": "method"}, {"access": "protected", "host": "DataTable.Base", "name": "_attachTbodyTdNode", "url": "DataTable.Base.html#method__attachTbodyTdNode", "type": "method"}, {"access": "private", "host": "DataTableScroll", "name": "_attachTbodyTdNode", "url": "DataTableScroll.html#method__attachTbodyTdNode", "type": "method"}, {"access": "protected", "host": "DataTable.Base", "name": "_attachTbodyTrNode", "url": "DataTable.Base.html#method__attachTbodyTrNode", "type": "method"}, {"access": "protected", "host": "DataTable.Base", "name": "_attachTheadThNode", "url": "DataTable.Base.html#method__attachTheadThNode", "type": "method"}, {"access": "private", "host": "DataTableScroll", "name": "_attachTheadThNode", "url": "DataTableScroll.html#method__attachTheadThNode", "type": "method"}, {"access": "protected", "host": "DataTable.Base", "name": "_attachTheadTrNode", "url": "DataTable.Base.html#method__attachTheadTrNode", "type": "method"}, {"access": "protected", "host": "DataTableSort", "name": "_beforeAttachTheadThNode", "url": "DataTableSort.html#method__beforeAttachTheadThNode", "type": "method"}, {"access": "protected", "host": "DataTableSort", "name": "_before_beforeAttachTbodyTdNode", "url": "DataTableSort.html#method__before_beforeAttachTbodyTdNode", "type": "method"}, {"access": "protected", "host": "DataTableSort", "name": "_beforeCreateTheadThNode", "url": "DataTableSort.html#method__beforeCreateTheadThNode", "type": "method"}, {"access": "private", "host": "DataTable.Base", "name": "bindUI", "url": "DataTable.Base.html#method_bindUI", "type": "method"}, {"access": "private", "host": "DataTableScroll", "name": "_bodyContainerNode", "url": "DataTableScroll.html#property__bodyContainerNode", "type": "property"}, {"access": "", "host": "DataTable.Base", "name": "caption", "url": "DataTable.Base.html#config_caption", "type": "config"}, {"access": "", "host": "DataTable.Base", "name": "captionChange", "url": "DataTable.Base.html#event_captionChange", "type": "event"}, {"access": "private", "host": "Columnset", "name": "_cascadePropertiesToChildren", "url": "Columnset.html#method__cascadePropertiesToChildren", "type": "method"}, {"access": "", "host": "Column", "name": "children", "url": "Column.html#config_children", "type": "config"}, {"access": "", "host": "Column", "name": "childrenChange", "url": "Column.html#event_childrenChange", "type": "event"}, {"access": "", "host": "DataTableScroll", "name": "COLOR_COLUMNFILLER", "url": "DataTableScroll.html#config_COLOR_COLUMNFILLER", "type": "config"}, {"access": "", "host": "DataTableScroll", "name": "COLOR_COLUMNFILLERChange", "url": "DataTableScroll.html#event_COLOR_COLUMNFILLERChange", "type": "event"}, {"access": "", "host": "Column", "name": "colSpan", "url": "Column.html#property_colSpan", "type": "property"}, {"access": "", "host": "DataTable.Base", "name": "columnset", "url": "DataTable.Base.html#config_columnset", "type": "config"}, {"access": "", "host": "DataTable.Base", "name": "columnsetChange", "url": "DataTable.Base.html#event_columnsetChange", "type": "event"}, {"access": "private", "host": "DataTableScroll", "name": "_createBodyContainer", "url": "DataTableScroll.html#method__createBodyContainer", "type": "method"}, {"access": "private", "host": "DataTableScroll", "name": "_createHeaderContainer", "url": "DataTableScroll.html#method__createHeaderContainer", "type": "method"}, {"access": "protected", "host": "DataTable.Base", "name": "_createTbodyTdNode", "url": "DataTable.Base.html#method__createTbodyTdNode", "type": "method"}, {"access": "protected", "host": "DataTable.Base", "name": "_createTbodyTrNode", "url": "DataTable.Base.html#method__createTbodyTrNode", "type": "method"}, {"access": "protected", "host": "DataTable.Base", "name": "_createTheadThNode", "url": "DataTable.Base.html#method__createTheadThNode", "type": "method"}, {"access": "protected", "host": "DataTable.Base", "name": "_createTheadTrNode", "url": "DataTable.Base.html#method__createTheadTrNode", "type": "method"}, {"access": "", "host": "DataTableDataSource", "name": "datasource", "url": "DataTableDataSource.html#config_datasource", "type": "config"}, {"access": "", "host": "DataTableDataSource", "name": "datasourceChange", "url": "DataTableDataSource.html#event_datasourceChange", "type": "event"}, {"access": "private", "host": "Column", "name": "_defaultField", "url": "Column.html#method__defaultField", "type": "method"}, {"access": "private", "host": "Column", "name": "_defaultId", "url": "Column.html#method__defaultId", "type": "method"}, {"access": "private", "host": "Column", "name": "_defaultKey", "url": "Column.html#method__defaultKey", "type": "method"}, {"access": "private", "host": "Column", "name": "_defaultLabel", "url": "Column.html#method__defaultLabel", "type": "method"}, {"access": "", "host": "Columnset", "name": "definitions", "url": "Columnset.html#config_definitions", "type": "config"}, {"access": "", "host": "Columnset", "name": "definitionsChange", "url": "Columnset.html#event_definitionsChange", "type": "event"}, {"access": "private", "host": "Column", "name": "destructor", "url": "Column.html#method_destructor", "type": "method"}, {"access": "private", "host": "Columnset", "name": "destructor", "url": "Columnset.html#method_destructor", "type": "method"}, {"access": "private", "host": "DataTable.Base", "name": "destructor", "url": "DataTable.Base.html#method_destructor", "type": "method"}, {"access": "", "host": "Column", "name": "field", "url": "Column.html#config_field", "type": "config"}, {"access": "", "host": "Column", "name": "fieldChange", "url": "Column.html#event_fieldChange", "type": "event"}, {"access": "", "host": "DataTable.Base", "name": "formatDataCell", "url": "DataTable.Base.html#method_formatDataCell", "type": "method"}, {"access": "private", "host": "Column", "name": "_getClassnames", "url": "Column.html#method__getClassnames", "type": "method"}, {"access": "private", "host": "DataTableScroll", "name": "_headerContainerNode", "url": "DataTableScroll.html#property__headerContainerNode", "type": "property"}, {"access": "", "host": "Column", "name": "headers", "url": "Column.html#property_headers", "type": "property"}, {"access": "", "host": "DataTableScroll", "name": "height", "url": "DataTableScroll.html#config_height", "type": "config"}, {"access": "", "host": "DataTableScroll", "name": "heightChange", "url": "DataTableScroll.html#event_heightChange", "type": "event"}, {"access": "", "host": "Column", "name": "id", "url": "Column.html#config_id", "type": "config"}, {"access": "", "host": "Column", "name": "idChange", "url": "Column.html#event_idChange", "type": "event"}, {"access": "", "host": "Columnset", "name": "idHash", "url": "Columnset.html#property_idHash", "type": "property"}, {"access": "private", "host": "Column", "name": "initializer", "url": "Column.html#method_initializer", "type": "method"}, {"access": "private", "host": "Columnset", "name": "initializer", "url": "Columnset.html#method_initializer", "type": "method"}, {"access": "private", "host": "DataTable.Base", "name": "initializer", "url": "DataTable.Base.html#method_initializer", "type": "method"}, {"access": "private", "host": "DataTableDataSource", "name": "initializer", "url": "DataTableDataSource.html#method_initializer", "type": "method"}, {"access": "private", "host": "DataTableSort", "name": "initializer", "url": "DataTableSort.html#method_initializer", "type": "method"}, {"access": "", "host": "DataTableDataSource", "name": "initialRequest", "url": "DataTableDataSource.html#config_initialRequest", "type": "config"}, {"access": "", "host": "DataTableDataSource", "name": "initialRequestChange", "url": "DataTableDataSource.html#event_initialRequestChange", "type": "event"}, {"access": "", "host": "Column", "name": "key", "url": "Column.html#config_key", "type": "config"}, {"access": "", "host": "Column", "name": "keyChange", "url": "Column.html#event_keyChange", "type": "event"}, {"access": "", "host": "Columnset", "name": "keyHash", "url": "Columnset.html#property_keyHash", "type": "property"}, {"access": "", "host": "Column", "name": "keyIndex", "url": "Column.html#property_keyIndex", "type": "property"}, {"access": "", "host": "Columnset", "name": "keys", "url": "Columnset.html#property_keys", "type": "property"}, {"access": "", "host": "Column", "name": "label", "url": "Column.html#config_label", "type": "config"}, {"access": "", "host": "Column", "name": "labelChange", "url": "Column.html#event_labelChange", "type": "event"}, {"access": "", "host": "DataTableSort", "name": "lastSortedBy", "url": "DataTableSort.html#config_lastSortedBy", "type": "config"}, {"access": "", "host": "DataTableSort", "name": "lastSortedByChange", "url": "DataTableSort.html#event_lastSortedByChange", "type": "event"}, {"access": "", "host": "DataTableDataSource", "name": "load", "url": "DataTableDataSource.html#method_load", "type": "method"}, {"access": "private", "host": "DataTable.Base", "name": "_msgNode", "url": "DataTable.Base.html#property__msgNode", "type": "property"}, {"access": "", "host": "Column", "name": "NAME", "url": "Column.html#property_NAME", "type": "property"}, {"access": "", "host": "Columnset", "name": "NAME", "url": "Columnset.html#property_NAME", "type": "property"}, {"access": "", "host": "DataTable.Base", "name": "NAME", "url": "DataTable.Base.html#property_NAME", "type": "property"}, {"access": "", "host": "DataTableDataSource", "name": "NAME", "url": "DataTableDataSource.html#property_NAME", "type": "property"}, {"access": "", "host": "DataTableSort", "name": "NAME", "url": "DataTableSort.html#property_NAME", "type": "property"}, {"access": "", "host": "DataTableDataSource", "name": "NS", "url": "DataTableDataSource.html#property_NS", "type": "property"}, {"access": "", "host": "DataTableSort", "name": "NS", "url": "DataTableSort.html#property_NS", "type": "property"}, {"access": "", "host": "DataTableDataSource", "name": "onDataReturnInitializeTable", "url": "DataTableDataSource.html#method_onDataReturnInitializeTable", "type": "method"}, {"access": "protected", "host": "DataTableSort", "name": "_onEventSortColumn", "url": "DataTableSort.html#method__onEventSortColumn", "type": "method"}, {"access": "private", "host": "DataTableScroll", "name": "_onScroll", "url": "DataTableScroll.html#method__onScroll", "type": "method"}, {"access": "", "host": "Column", "name": "parent", "url": "Column.html#property_parent", "type": "property"}, {"access": "private", "host": "DataTableScroll", "name": "_parentContainer", "url": "DataTableScroll.html#property__parentContainer", "type": "property"}, {"access": "private", "host": "DataTableScroll", "name": "_parentMsgNode", "url": "DataTableScroll.html#property__parentMsgNode", "type": "property"}, {"access": "private", "host": "DataTableScroll", "name": "_parentTableNode", "url": "DataTableScroll.html#property__parentTableNode", "type": "property"}, {"access": "private", "host": "DataTableScroll", "name": "_parentTbodyNode", "url": "DataTableScroll.html#property__parentTbodyNode", "type": "property"}, {"access": "private", "host": "DataTableScroll", "name": "_parentTheadNode", "url": "DataTableScroll.html#property__parentTheadNode", "type": "property"}, {"access": "", "host": "DataTable.Base", "name": "recordset", "url": "DataTable.Base.html#config_recordset", "type": "config"}, {"access": "", "host": "DataTable.Base", "name": "recordsetChange", "url": "DataTable.Base.html#event_recordsetChange", "type": "event"}, {"access": "private", "host": "DataTableScroll", "name": "_removeCaptionNode", "url": "DataTableScroll.html#method__removeCaptionNode", "type": "method"}, {"access": "private", "host": "DataTable.Base", "name": "renderUI", "url": "DataTable.Base.html#method_renderUI", "type": "method"}, {"access": "", "host": "DataTableScroll", "name": "renderUI", "url": "DataTableScroll.html#method_renderUI", "type": "method"}, {"access": "", "host": "Column", "name": "rowSpan", "url": "Column.html#property_rowSpan", "type": "property"}, {"access": "private", "host": "DataTableScroll", "name": "scroll", "url": "DataTableScroll.html#config_scroll", "type": "config"}, {"access": "", "host": "DataTableScroll", "name": "scrollChange", "url": "DataTableScroll.html#event_scrollChange", "type": "event"}, {"access": "private", "host": "Columnset", "name": "_setColSpans", "url": "Columnset.html#method__setColSpans", "type": "method"}, {"access": "private", "host": "DataTable.Base", "name": "_setColumnset", "url": "DataTable.Base.html#method__setColumnset", "type": "method"}, {"access": "private", "host": "DataTableScroll", "name": "_setContentBoxDimensions", "url": "DataTableScroll.html#method__setContentBoxDimensions", "type": "method"}, {"access": "private", "host": "DataTableDataSource", "name": "_setDataSource", "url": "DataTableDataSource.html#method__setDataSource", "type": "method"}, {"access": "private", "host": "Columnset", "name": "_setDefinitions", "url": "Columnset.html#method__setDefinitions", "type": "method"}, {"access": "private", "host": "Columnset", "name": "_setHeaders", "url": "Columnset.html#method__setHeaders", "type": "method"}, {"access": "private", "host": "DataTableDataSource", "name": "_setInitialRequest", "url": "DataTableDataSource.html#method__setInitialRequest", "type": "method"}, {"access": "private", "host": "DataTableSort", "name": "_setLastSortedBy", "url": "DataTableSort.html#method__setLastSortedBy", "type": "method"}, {"access": "private", "host": "DataTableScroll", "name": "_setOverhangValue", "url": "DataTableScroll.html#method__setOverhangValue", "type": "method"}, {"access": "private", "host": "DataTable.Base", "name": "_setRecordset", "url": "DataTable.Base.html#method__setRecordset", "type": "method"}, {"access": "private", "host": "Columnset", "name": "_setRowSpans", "url": "Columnset.html#method__setRowSpans", "type": "method"}, {"access": "private", "host": "DataTableScroll", "name": "_setStylesForTbody", "url": "DataTableScroll.html#method__setStylesForTbody", "type": "method"}, {"access": "private", "host": "DataTableScroll", "name": "_setStylesForThead", "url": "DataTableScroll.html#method__setStylesForThead", "type": "method"}, {"access": "private", "host": "DataTableScroll", "name": "_setUpNodes", "url": "DataTableScroll.html#method__setUpNodes", "type": "method"}, {"access": "private", "host": "DataTableScroll", "name": "_setUpParentMessageNode", "url": "DataTableScroll.html#method__setUpParentMessageNode", "type": "method"}, {"access": "private", "host": "DataTableScroll", "name": "_setUpParentTableNode", "url": "DataTableScroll.html#method__setUpParentTableNode", "type": "method"}, {"access": "private", "host": "DataTableScroll", "name": "_setUpParentTbodyNode", "url": "DataTableScroll.html#method__setUpParentTbodyNode", "type": "method"}, {"access": "private", "host": "DataTableScroll", "name": "_setUpParentTheadNode", "url": "DataTableScroll.html#method__setUpParentTheadNode", "type": "method"}, {"access": "", "host": "DataTable.Base", "name": "summary", "url": "DataTable.Base.html#config_summary", "type": "config"}, {"access": "", "host": "DataTable.Base", "name": "summaryChange", "url": "DataTable.Base.html#event_summaryChange", "type": "event"}, {"access": "private", "host": "DataTableScroll", "name": "_syncScroll", "url": "DataTableScroll.html#method__syncScroll", "type": "method"}, {"access": "private", "host": "DataTableScroll", "name": "_syncScrollOverhang", "url": "DataTableScroll.html#method__syncScrollOverhang", "type": "method"}, {"access": "private", "host": "DataTableScroll", "name": "_syncScrollX", "url": "DataTableScroll.html#method__syncScrollX", "type": "method"}, {"access": "private", "host": "DataTableScroll", "name": "_syncScrollY", "url": "DataTableScroll.html#method__syncScrollY", "type": "method"}, {"access": "private", "host": "Column", "name": "syncUI", "url": "Column.html#method_syncUI", "type": "method"}, {"access": "private", "host": "DataTable.Base", "name": "syncUI", "url": "DataTable.Base.html#method_syncUI", "type": "method"}, {"access": "", "host": "DataTableScroll", "name": "syncUI", "url": "DataTableScroll.html#method_syncUI", "type": "method"}, {"access": "private", "host": "DataTableScroll", "name": "_syncWidths", "url": "DataTableScroll.html#method__syncWidths", "type": "method"}, {"access": "private", "host": "DataTable.Base", "name": "_tbodyNode", "url": "DataTable.Base.html#property__tbodyNode", "type": "property"}, {"access": "", "host": "DataTable.Base", "name": "tdTemplate", "url": "DataTable.Base.html#property_tdTemplate", "type": "property"}, {"access": "", "host": "DataTable.Base", "name": "tdValueTemplate", "url": "DataTable.Base.html#config_tdValueTemplate", "type": "config"}, {"access": "", "host": "DataTable.Base", "name": "tdValueTemplateChange", "url": "DataTable.Base.html#event_tdValueTemplateChange", "type": "event"}, {"access": "", "host": "DataTableSort", "name": "template", "url": "DataTableSort.html#config_template", "type": "config"}, {"access": "", "host": "DataTableSort", "name": "templateChange", "url": "DataTableSort.html#event_templateChange", "type": "event"}, {"access": "private", "host": "DataTable.Base", "name": "_theadNode", "url": "DataTable.Base.html#property__theadNode", "type": "property"}, {"access": "", "host": "Column", "name": "thNode", "url": "Column.html#property_thNode", "type": "property"}, {"access": "", "host": "DataTable.Base", "name": "thTemplate", "url": "DataTable.Base.html#property_thTemplate", "type": "property"}, {"access": "", "host": "DataTable.Base", "name": "thValueTemplate", "url": "DataTable.Base.html#config_thValueTemplate", "type": "config"}, {"access": "", "host": "DataTable.Base", "name": "thValueTemplateChange", "url": "DataTable.Base.html#event_thValueTemplateChange", "type": "event"}, {"access": "", "host": "Columnset", "name": "tree", "url": "Columnset.html#property_tree", "type": "property"}, {"access": "", "host": "DataTableSort", "name": "trigger", "url": "DataTableSort.html#config_trigger", "type": "config"}, {"access": "", "host": "DataTableSort", "name": "triggerChange", "url": "DataTableSort.html#event_triggerChange", "type": "event"}, {"access": "", "host": "DataTable.Base", "name": "trTemplate", "url": "DataTable.Base.html#config_trTemplate", "type": "config"}, {"access": "", "host": "DataTable.Base", "name": "trTemplateChange", "url": "DataTable.Base.html#event_trTemplateChange", "type": "event"}, {"access": "protected", "host": "Column", "name": "_uiSetAbbr", "url": "Column.html#method__uiSetAbbr", "type": "method"}, {"access": "protected", "host": "DataTable.Base", "name": "_uiSetCaption", "url": "DataTable.Base.html#method__uiSetCaption", "type": "method"}, {"access": "protected", "host": "DataTable.Base", "name": "_uiSetColumnset", "url": "DataTable.Base.html#method__uiSetColumnset", "type": "method"}, {"access": "protected", "host": "DataTableSort", "name": "_uiSetLastSortedBy", "url": "DataTableSort.html#method__uiSetLastSortedBy", "type": "method"}, {"access": "protected", "host": "DataTable.Base", "name": "_uiSetRecordset", "url": "DataTable.Base.html#method__uiSetRecordset", "type": "method"}, {"access": "protected", "host": "DataTable.Base", "name": "_uiSetSummary", "url": "DataTable.Base.html#method__uiSetSummary", "type": "method"}, {"access": "", "host": "DataTableScroll", "name": "width", "url": "DataTableScroll.html#config_width", "type": "config"}, {"access": "", "host": "DataTableScroll", "name": "widthChange", "url": "DataTableScroll.html#event_widthChange", "type": "event"}];
</script>
</body>
</html>
